将元胞数组或字符串合并为一个 space 分隔的字符串
Combine a cell array or strings into a single space separated string
如何将单元格数组中的单元格组合成一个单元格?例如:
a = {'I', 'am', 'a', 'noob', 'in', 'matlab'}
进入 1 个单元格
a = 'I am a noob in matlab'
注意 下面 Luis Mendo 对 strjoin
的回答显然更好,但是我不能删除它,因为它是公认的答案。
首先你需要添加一行space个字符:
a = {'I', 'am', 'a', 'noob', 'in', 'matlab'}
a(2,:) = {' '}
现在您可以使用 {:}
操作获取逗号分隔列表,并使用 []
操作连接这些:
[a{:}]
ans =
I am a noob in matlab
请注意,这是可行的,因为 Maltab 是 column-major,这就是为什么当您 "linearize" 使用 :
运算符的矩阵时,它先沿着列向下移动,然后再穿过行.
另请注意,此方法略有缺陷,因为它会在结果末尾额外添加一个 space 字符。所以你可能想要 trim 它。
最后要注意的是,您要求将答案放在一个 单元格 中,但我给了您一个字符数组。如果你真的想把它放在一个单元格中,我相信你不会,那么这样做:
{[a{:}]}
strjoin
正是这样做的:
>> a = {'I', 'am', 'a', 'noob', 'in', 'matlab'}
a =
'I' 'am' 'a' 'noob' 'in' 'matlab'
>> strjoin(a)
ans =
I am a noob in matlab
如何将单元格数组中的单元格组合成一个单元格?例如:
a = {'I', 'am', 'a', 'noob', 'in', 'matlab'}
进入 1 个单元格
a = 'I am a noob in matlab'
注意 下面 Luis Mendo 对 strjoin
的回答显然更好,但是我不能删除它,因为它是公认的答案。
首先你需要添加一行space个字符:
a = {'I', 'am', 'a', 'noob', 'in', 'matlab'}
a(2,:) = {' '}
现在您可以使用 {:}
操作获取逗号分隔列表,并使用 []
操作连接这些:
[a{:}]
ans =
I am a noob in matlab
请注意,这是可行的,因为 Maltab 是 column-major,这就是为什么当您 "linearize" 使用 :
运算符的矩阵时,它先沿着列向下移动,然后再穿过行.
另请注意,此方法略有缺陷,因为它会在结果末尾额外添加一个 space 字符。所以你可能想要 trim 它。
最后要注意的是,您要求将答案放在一个 单元格 中,但我给了您一个字符数组。如果你真的想把它放在一个单元格中,我相信你不会,那么这样做:
{[a{:}]}
strjoin
正是这样做的:
>> a = {'I', 'am', 'a', 'noob', 'in', 'matlab'}
a =
'I' 'am' 'a' 'noob' 'in' 'matlab'
>> strjoin(a)
ans =
I am a noob in matlab