2015-10-14 36 views
0

的單元陣列的每一個字符串的結尾比方說,我已經串的單元陣列:MATLAB添加的一封信串

A = {'hello','world','how','are','you'}; 

我想在每個字符串末尾添加字母z爲了獲得:

Az = {'helloz','worldz','howz','arez','youz'}; 

我使用一個for循環來完成這個任務,但是我想改進儘可能。

這是代碼我目前使用:

Az = cell(size(A)); % Preload 
for i = 1:size(A,2) 
    Az{i} = [A{i},'z']; 
end 

什麼建議嗎?

+0

如果你想改善循環,我建議[不要使用'i'作爲變量](http://stackoverflow.com/questions/14790740/using-i-and-j-as-variables-in -matlab),完全消除循環,嘗試['cellfun'](http://mathworks.com/help/matlab/ref/cellfun.html) – Adriaan

+1

'strcat(A,'z')' –

回答

4

strcat做到了這一點:

Az = strcat(A, 'z'); 

documentation

s = strcat(s1,...,sN)水平連接字符串s1,...,sN。每個輸入參數可以是單個字符串,單元格數組中的字符串集合或字符數組中的字符串集合。

如果任何輸入參數是單元格數組,則結果是一個單元格數組。否則,結果是一個字符數組。

對於字符數組輸入,strcat刪除尾隨ASCII空格字符:空格,製表符,垂直製表符,換行符,回車符和換頁符。對於單元陣列輸入,strcat不會刪除尾隨空白。

+0

哈哈這麼簡單和優雅 –

+0

不可能更好 – mat