不能在Matlab中使用eval

时间:2015-09-21 17:03:01

标签: matlab eval

这是我的代码:

 collection = cubsfantony 848 visa/mastercard, money order/cashiers checks

 temp = regexprep(collection,' ',''',''')

%返回

temp = cubsfantony','848','visa/mastercard,','money','order/cashiers','checks'  % why?

eval(['words = {''',temp,'''};']); 

Matlab返回如下:

 Error: Unexpected MATLAB expression.

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:3)

根本不需要使用eval ...请不要使用它。它被认为是不好的做法。但是,我的理解是,您希望拆分由空格分隔的所有字符串,并将它们放入单独的单元格数组中。您可以使用strsplit轻松完成此操作,并使用空格字符作为拆分分隔符:

collection = 'cubsfantony 848 visa/mastercard, money order/cashiers checks';
out = strsplit(collection, ' ');

我们得到:

>> out = strsplit(collection, ' ')

out = 

  Columns 1 through 4

    'cubsfantony'    '848'    'visa/mastercard,'    'money'

  Columns 5 through 6

    'order/cashiers'    'checks'