将字符串拆分为各种组合

时间:2012-03-30 05:01:32

标签: matlab

我需要一些方向将字符串拆分成各种组合。实际上我的要求是拆分一个整数,但我想那些不能拆分,这就是为什么我把整数转换成字符串。

例如。 我有一个字符串“123456” 我想将它拆分为

12 34 56

123 45 6

12 345 6

12 3 456

和明智的一样。还有一个问题是,字符串的大小可以变化。正如我所说,这些实际上是整数,所以它可以有4个位置到7-8个位置,因此将要分割成组合的结果字符串的大小。

我目前没有任何代码可以实现它。我刚刚在命令框中执行了简单的拆分操作,但是没想到实现所需结果的方法。请给我一些关于我能做什么的指示。

感谢。

1 个答案:

答案 0 :(得分:1)

首先,您可以使用num2str()函数将整数值转换为字符串。将数字转换为字符串后,可以使用length()函数确定数字中有多少位数。然后,您可以使用字符串的长度以各种方式分割数字。以下示例仅分为两组,但您可以根据需要进行调整。

val=123456;
str=num2str(val);
i=1;
k=1;
len=2;%split values into groups of 2
while(i<length(str)-1)
val(k)=str2num(str(i:i+len-1));
i=i+len;
k=k+1;
end
if(i<=length(str))
val(k)=str2num(str(i:end));%catches the remainder
end