如何组合单元格数组中的单元格以形成单个单元格?对于例如为:将单元格数组或多个字符串合并为一个单独的空格分隔字符串
a = {'I', 'am', 'a', 'noob', 'in', 'matlab'}
到1细胞
a = 'I am a noob in matlab'
如何组合单元格数组中的单元格以形成单个单元格?对于例如为:将单元格数组或多个字符串合并为一个单独的空格分隔字符串
a = {'I', 'am', 'a', 'noob', 'in', 'matlab'}
到1细胞
a = 'I am a noob in matlab'
注意低于strjoin
路易斯Mendo的答案显然是更好的,但是我不能当它是公认的答案删除。
首先,你需要添加的空格字符的行:
a = {'I', 'am', 'a', 'noob', 'in', 'matlab'}
a(2,:) = {' '}
现在你可以使用{:}
操作以获取一个逗号分隔的列表和[]
操作来连接这些:
[a{:}]
ans =
I am a noob in matlab
请注意,这是因为Maltab是column-major这就是为什么当你使用“线性化”矩阵时运算符在跨行之前首先进入列。
另请注意,此方法存在一些小的缺陷,因为它会在结果的末尾添加一个额外的空格字符。所以你可能想要trim吧。
最后需要注意的是,你要求的答案是在一个单元,但我给你一个字符数组。如果你真的想在一个小区,我敢肯定,你不这样做,那么这样做:
{[a{:}]}
:DI想知道你是否会改变我是一个noob你是一个n00b。 – GameOfThrows
1nd33d w3ll 541d – GameOfThrows
strjoin
正是这么做的:
>> a = {'I', 'am', 'a', 'noob', 'in', 'matlab'}
a =
'I' 'am' 'a' 'noob' 'in' 'matlab'
>> strjoin(a)
ans =
I am a noob in matlab
http://de.mathworks.com /help/matlab/ref/strjoin.html – Daniel