我在 MATLAB 中有以下字符串:
contents = '{'aa' 'bb' 'cc' 'dd'}'
我需要在其中获取 1x4 单元阵列,例如:
mycell = {'aa' 'bb' 'cc' 'dd'}
你会怎么做?有没有比解析更快的方法?
我在 MATLAB 中有以下字符串:
contents = '{'aa' 'bb' 'cc' 'dd'}'
我需要在其中获取 1x4 单元阵列,例如:
mycell = {'aa' 'bb' 'cc' 'dd'}
你会怎么做?有没有比解析更快的方法?
这是一个很好的方法(如果我正确地捕捉到了你的初始问题)
>> contents = '{aa bb cc dd}';
>> result = regexp(contents,'\w+','match')
result =
'aa' 'bb' 'cc' 'dd'
“结果”是一个 1x4 单元格。
不要忘记字符串中的双引号并使用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