我正在处理字符串操作。在变量X中,我有一个字符串 'AGCT'。我使用以下命令将其保存在单元格中:
y(1,1)={x};
现在它被存储在单个单元格中。现在我想分别取出字符串中的每个字母。我想先取A,再取G,以此类推。在这种情况下,需要进行单元格数组转换。那么如何将单元格内容重新转换为字符串?
y(1,1)={x};
现在它被存储在单个单元格中。现在我想分别取出字符串中的每个字母。我想先取A,再取G,以此类推。在这种情况下,需要进行单元格数组转换。那么如何将单元格内容重新转换为字符串?
{}
) 从单元格中获取字符串:x='AGCT';
y(1) = {x};
y{1}
ans =
AGCT
您可以使用索引运算符直接从单元数组中获取个别字符。例如:
y{1}(2)
ans =
G
char
函数可以将字符串的单元格数组转换为二维字符数组,通过垂直连接字符串并在必要时填充空格:
这样,您可以使用
S = char(C)
,当C
是一个字符串的单元格数组时,将C
的每个元素放入字符数组S
的行中。使用CELLSTR
进行转换。
char(y)
将整个单元格数组转换为二维字符数组,但我认为您正在寻找一种直接从单元格数组进行个别字符索引的方法。cellfun
,它可以用于对每个单元格执行相同的操作。例如,如果您有一个单元格,如y = {'AGCT','CTGA'};
,并且您想要每个单元格的第二个字符(包含GT
的字符数组),您可能会尝试执行y {:} (2)
,但这不起作用(第一个索引必须是标量)。解决办法是:>> iBase = 2;
>> basei = cellfun(@(c)c(iBase),y)
basei =
GT