我有以下内容:
a =
{1x1 cell} {1x1 cell} {1x1 cell} {1x1 cell}
在哪里:
a{:}
ans =
'a'
ans =
'a'
ans =
'c'
ans =
'a'
我想要角色:a a c a
因为我需要使用字符打印fprintf
fprintf
不接受a{:}
如果我这样做a{1}{:}
只会考虑第一个字符
如何解决这个问题?谢谢。
我有以下内容:
a =
{1x1 cell} {1x1 cell} {1x1 cell} {1x1 cell}
在哪里:
a{:}
ans =
'a'
ans =
'a'
ans =
'c'
ans =
'a'
我想要角色:a a c a
因为我需要使用字符打印fprintf
fprintf
不接受a{:}
如果我这样做a{1}{:}
只会考虑第一个字符
如何解决这个问题?谢谢。
如果你只需要字符向量'aaca',你可以使用这个:
a = {{'a'}, {'a'}, {'c'}, {'a'}};
a_CharVector = cellfun(@(x) char(x), a);
如果你想要字符向量'aaca',你可以使用regexprep
添加空格:
a_CharVectorWithSpaces = regexprep((cellfun(@(x) char(x), a)), '(.)', '$1 ');
要使用空格和换行符打印 aaca,您可以使用以下命令:
fprintf([ regexprep((cellfun(@(x) char(x), a)), '(.)', '$1 '), '\n' ]);
编辑:删除了不必要的匿名函数。@(x)
在这种情况下是不必要的。
要获得字符向量 'aaca' 这有效:
a_CharVector = cellfun(@char, a);
要获取字符向量 'aaca ',您可以使用以下命令:
a_CharVectorWithSpaces = regexprep((cellfun(@char, a)), '(.)', '$1 ');
用换行符打印 aaca:
fprintf([ regexprep((cellfun(@char, a)), '(.)', '$1 '), '\n' ]);