1

我在 MATLAB 中有以下字符串:

contents = '{'aa' 'bb' 'cc' 'dd'}'

我需要在其中获取 1x4 单元阵列,例如:

mycell = {'aa' 'bb' 'cc' 'dd'}

你会怎么做?有没有比解析更快的方法?

4

2 回答 2

3

这是一个很好的方法(如果我正确地捕捉到了你的初始问题)

>> contents = '{aa bb cc dd}';
>> result = regexp(contents,'\w+','match')
result = 
    'aa'    'bb'    'cc'    'dd'

“结果”是一个 1x4 单元格。

于 2011-12-29T05:32:12.890 回答
1

不要忘记字符串中的双引号并使用eval(丑陋的解决方案但简单且有效)。

>> contents = '{''aa'' ''bb'' ''cc'' ''dd''}'

contents =

{'aa' 'bb' 'cc' 'dd'}

>> c = eval(contents)

c = 

    'aa'    'bb'    'cc'    'dd'

>> class(c)

ans =

cell

>> c{2}

ans =

bb
于 2011-12-28T21:31:39.630 回答