Arrays 操作单元数组元素

Arrays 操作单元数组元素,arrays,matlab,Arrays,Matlab,我有一个单元格数组,其中包含元素“abc”,“def”,“ghi” 谁能告诉我如何将其转换为“aa bb cc”,“dd ee ff”,“gg hh ii” 我最后做了“abcabc”等等 >> t = {'abc','def'} >> tnew = cellfun(@(x)reshape([x' x' repmat(' ',numel(x),1)]',1,[]),t,'UniformOutput',false) tnew = 'aa bb cc ' 'dd

我有一个单元格数组,其中包含元素
“abc”
“def”
“ghi”

谁能告诉我如何将其转换为
“aa bb cc”
“dd ee ff”
“gg hh ii”

我最后做了
“abcabc”
等等

>> t = {'abc','def'}
>> tnew = cellfun(@(x)reshape([x' x' repmat(' ',numel(x),1)]',1,[]),t,'UniformOutput',false)

tnew = 

'aa bb cc '    'dd ee ff '
每个字符串后面都会有一个尾随空格,但您可以使用strtrim去掉它

>> strtrim(tnew)

ans = 

'aa bb cc'    'dd ee ff'
每个字符串后面都会有一个尾随空格,但您可以使用strtrim去掉它

>> strtrim(tnew)

ans = 

'aa bb cc'    'dd ee ff'

使用常规表达式怎么样

x = {'abc', 'def', 'ghi'}; %// cell array of strings
y = regexprep(x, '.', '$0$0 '); %// duplicate each character and insert a blank space
y = regexprep(y, ' $', ''); %// remove last space 
这给

y = 
    'aa bb cc'    'dd ee ff'    'gg hh ii'

使用常规表达式怎么样

x = {'abc', 'def', 'ghi'}; %// cell array of strings
y = regexprep(x, '.', '$0$0 '); %// duplicate each character and insert a blank space
y = regexprep(y, ' $', ''); %// remove last space 
这给

y = 
    'aa bb cc'    'dd ee ff'    'gg hh ii'

您尝试了什么?另外,为了澄清,您的单元格的元素是
“abc”
还是
“abc”
?换句话说,它们是否包含本身不用于创建Matlab字符串(字符数组)的直双引号符号“”?您尝试了什么?另外,为了澄清,您的单元格的元素是“
”abc“
还是“
”abc“
”?换句话说,它们是否包含直双引号符号“
”“
它本身不用于创建Matlab字符串(字符数组)?我意识到我们不是在玩代码高尔夫(不幸的是?:),但使用
deblank
而不是最后一行要短一些
deblank
也几乎快了一个数量级。@横向条件好主意!不管怎样,另一个问题就是这样的,所以我就这样离开。我意识到我们不是在玩代码高尔夫(不幸的是?:),但是使用
deblank
而不是最后一行要短一些
deblank
也几乎快了一个数量级。@横向条件好主意!不管怎样,另一个问题就是这样的,所以我就这样离开。