我想连接字符串。我尝试使用strcat
:
x = 5;
m = strcat('is', num2str(x))
但此函数会从每个字符串中删除尾随空白字符。是否有另一个MATLAB函数来执行字符串连接,以保持尾随空格?
答案 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)在哪里放置你想要的空间。