我有类似如下:结合阵列成一个字符串(MATLAB)
A = [1 2 5; 1 5 7];
B = A(1,:);
I输出B:
B = A(1,:);
B =
1 2 5
我期待结合起来什么是包含在B插入到一个单一的字符串:
1/2/5
我有类似如下:结合阵列成一个字符串(MATLAB)
A = [1 2 5; 1 5 7];
B = A(1,:);
I输出B:
B = A(1,:);
B =
1 2 5
我期待结合起来什么是包含在B插入到一个单一的字符串:
1/2/5
您可以使用sprintf
:
sprintf('%d/',B)
这会给你想要的东西差不多,它会在年底有不必要的/
。
>> sprintf('%d/',B)
ans =
1/2/5/
如果你想删除它:
st = sprintf('%d/',B);
st(end) = [];
由于@hmuster正确地指出,这是可能的\b
,退格符做到这一点。
st = [sprintf('%d/',B) sprintf('\b')];
但是,正如@AndrewJanke指出的那样,如果将此字符串写入管道或文件中,可能会出现问题。所以谨慎使用它。
如果你想让它正确(IE可重复使用)来完成,有两个步骤:
转换你的号码为字符串(这将允许以后疯狂的值与num2str
http://www.mathworks.com/help/matlab/ref/num2str.html
水平连接您的串(您可以使用MATLAB连接属性A = [BC]),但功能方式为strcat
http://www.mathworks.com/help/matlab/ref/strcat.html
+1,更容易理解,我喜欢你的版本:) –
@Andrey哈哈让我们来交易 –
更快,我喜欢它 –
而作为一衬垫:'ST = [sprintf的( '%d /',B)的sprintf( '\ B')]' –
@ H.Muster快速的问题,什么是“\ b '呢?我假设退格?如果这样真棒,我需要使用它更多 –