【问题标题】:MATLAB add a letter at the end of every string of a cell array of stringMATLAB 在字符串元胞数组的每个字符串的末尾添加一个字母
【发布时间】:2015-10-14 16:32:34
【问题描述】:

假设我有一个字符串元胞数组:

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

有什么建议吗?

【问题讨论】:

标签: string matlab cell-array


【解决方案1】:

strcat 就是这样做的:

Az = strcat(A, 'z');

来自documentation

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

如果任何输入参数是元胞数组,则结果是字符串元胞数组。否则,结果为字符数组。

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

【讨论】:

    猜你喜欢
    • 2012-03-13
    • 1970-01-01
    • 2017-04-10
    • 2013-01-15
    • 2021-02-14
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多