字符串与空格的连接

时间:2012-04-30 09:34:33

标签: string matlab concatenation

我想连接字符串。我尝试使用strcat

x = 5;
m = strcat('is', num2str(x)) 

但此函数会从每个字符串中删除尾随空白字符。是否有另一个MATLAB函数来执行字符串连接,以保持尾随空格?

5 个答案:

答案 0 :(得分:12)

您可以使用horzcat代替strcat

>> strcat('one ','two')
ans =
onetwo
>> horzcat('one ','two')
ans =
one two

或者,如果您要将数字替换为字符串,则最好使用sprintf

>> x = 5;
>> sprintf('is %d',x)
ans =
is 5

答案 1 :(得分:4)

怎么样

strcat({' is '},{num2str(5)})

给出了

' is 5'

答案 2 :(得分:2)

查看strcat documentation上的最后一个示例:尝试使用水平数组连接而不是strcat

m = ['is ', num2str(x)]

另外,请查看sprintf以获取有关字符串格式(前导/尾随空格等)的更多信息。

答案 3 :(得分:2)

如何使用strjoin

x = 5;
m ={'is', num2str(x)};
strjoin(m, ' ')

答案 4 :(得分:-2)

这不考虑哪些空格?只有你没有提到过的空间!你的意思是:

m = strcat( ' is ',num2str(x) ) 
或许?

Matlab不会猜测(a)你想要空格,或者(b)在哪里放置你想要的空间。