MATLAB在字符串的单元格数组的每个字符串的末尾添加一个字母

时间:2015-10-14 16:32:35

标签: string matlab cell-array

假设我有一个字符串的单元格数组:

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

有什么建议吗?

1 个答案:

答案 0 :(得分:4)

strcat就是这样做的:

Az = strcat(A, 'z');

来自documentation

  

s = strcat(s1,...,sN)水平连接字符串s1,...,sN。每个输入参数可以是单个字符串,单元格数组中的字符串集合,也可以是字符数组中的字符串集合。

     

如果任何输入参数是单元格数组,则结果是字符串的单元格数组。否则,结果是一个字符数组。

     

对于字符数组输入,strcat删除尾随的ASCII空格字符:空格,制表符,垂直制表符,换行符,回车符和换页符。对于单元格数组输入,strcat不会删除尾随空格。