从for循环中存储字符串的最有效格式是什么?

时间:2014-12-17 10:49:33

标签: string matlab

我有一个运行一系列字符串的脚本,并使用正则表达式拉出某些字符串(每个输入字符串约4个输出字符串)。

e.g. HelloStackOverflowWorld
->   Hello; Stack; Overflow; World;

理想情况下,最终输出是一个表格,我可以根据列中的字符串进行过滤。使用上面的案例,第1列第1行将为'Hello',第2列第1行将为'Stack',依此类推。

问题是,输出的大小会根据输入而改变,所以我不确定要使用的输出格式。

目前我使用了类似的东西:

if strfind(missing{ii},'hello')
    miss.exch = [miss.exch;'hello'];
    temp.exc = regexp(missing{ii},'(?<=\d[Q|T])(\w*?)(?=[q])','match');
    miss.exc = [miss.exc;temp.exc];
    temp.TQ= regexp(missing{ii},'(Qc|Tc)','match');
    if strcmp(temp.TQ{1,1}, 'Tc')
        miss.TQ = [miss.TQ;'variableA'];
    elseif temp.TQ{1,1} == 'Qc'
        miss.TQ = [miss.TQ;'variableB'];
    end
else if .........
end

这显然会导致1x1结构由多个字段组成,每个字段都包含许多单元格。这使得对字符串的过滤成为一个问题!

如何定义数据并将其添加到我可以过滤的'table of strings'

1 个答案:

答案 0 :(得分:3)

我认为你只是在寻找一个单元阵列。以下是他们可以做的一个简单示例:

C = {'Abc','Bcd';'Cde',[]}

strcmp(C,'Cde')

结果:

ans =

     0     0
     1     0

请务必检查doc cell以了解如何访问它们。