0

我有一个类似的字符串'12,23,43,erogol,bla,3.4',我想解析它并查看该字符串中的值类型。例如,如果我将该字符串提供给函数,我希望有一个类似于output=["integer,integer,integer,string,string,double"]函数返回的向量。

我怎么能在matlab中做到这一点?

4

1 回答 1

2

使用正则表达式可以很容易地做到这一点。

input = '-12,12,0,erogol,bla,3.4,-3.4';
  • 首先将字符串替换为“字符串”。
  • 接下来抓双打
  • 最后捕捉整数:

例子:

  output = regexprep(input, '[a-zA-Z]*', 'string');
  output = regexprep(output, '[-]*[0-9]*[.][0-9]*', 'double');
  output = regexprep(output, '[-]*[0-9]*', 'integer');

输出现在包含`integer,integer,integer,string,string,double,double'

您可以使用以下方法将其拆分为单元数组:

varTypes = regexp(output, ',', 'split');
于 2012-10-17T20:31:53.910 回答