我想連接字符串。我嘗試使用strcat
:帶空格的字符串連接
x = 5;
m = strcat('is', num2str(x))
不過這個功能將刪除每個字符串尾部空白字符。是否有另一個MATLAB函數來執行字符串連接,以維持尾隨的空格?
我想連接字符串。我嘗試使用strcat
:帶空格的字符串連接
x = 5;
m = strcat('is', num2str(x))
不過這個功能將刪除每個字符串尾部空白字符。是否有另一個MATLAB函數來執行字符串連接,以維持尾隨的空格?
可以使用horzcat
代替strcat
:
>> strcat('one ','two')
ans =
onetwo
>> horzcat('one ','two')
ans =
one two
或者,如果你要被替換的數字轉換成字符串,它可能是更好地使用sprintf
:
>> x = 5;
>> sprintf('is %d',x)
ans =
is 5
什麼空間這是否沒有考慮到?只有你沒有提到的空間!您的意思是:
m = strcat(' is ',num2str(x))
也許?
Matlab不會猜測(a)你想要空格還是(b)在哪裏放置它猜測你想要的空格。
看一看最後一個例子在strcat
documentation:嘗試使用水平陣列concatination而不是strcat
:
m = ['is ', num2str(x)]
而且,看看sprintf
關於字符串格式的詳細信息(前/後間隔等)。
如何
strcat({' is '},{num2str(5)})
,讓
' is 5'
如何使用strjoin
?
x = 5;
m ={'is', num2str(x)};
strjoin(m, ' ')
如果您使用strcat,那麼您放在那裏的空間將被刪除 –