0

我有以下内容:

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}{:}只会考虑第一个字符

如何解决这个问题?谢谢。

4

1 回答 1

2

如果你只需要字符向量'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' ]);
于 2012-04-13T23:17:44.273 回答