单元格数组,为每个字符串添加后缀

时间:2014-03-17 18:51:10

标签: string matlab text-processing cell-array

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

c = {'foo1', 'foo2', 'foo3'}

我现在想要添加相同的后缀" bar"每个字符串,以便单元格数组变为:

c = {'foo1bar', 'foo2bar', 'foo3bar'}

是否存在执行此操作的快捷方式,而没有显式循环遍历每个元素?

2 个答案:

答案 0 :(得分:9)

strcat对单元格数组进行操作:

>> c = {'foo1', 'foo2', 'foo3'}
c = 
    'foo1'    'foo2'    'foo3'
>> c2 = strcat(c,'bar')
c2 = 
    'foo1bar'    'foo2bar'    'foo3bar'

答案 1 :(得分:2)

如何使用cellfun

c=cellfun(@(x) strcat(x, 'bar'), c, 'Uniformoutput', 0);

我不知道它的运行速度是否比循环更快,但编写起来不那么繁琐。

编辑:显然strcat处理单元格数组。使用cellfun表示没有的功能。