String 理解Matlab中字符串表示的数据类型
我有一个字符串,像String 理解Matlab中字符串表示的数据类型,string,matlab,String,Matlab,我有一个字符串,像'12,23,43,erogol,bla,3.4',我想解析它,看看这个字符串中有哪种类型的值。例如,如果我将该字符串赋给函数,我希望函数返回一个向量,如output=[“integer,integer,integer,string,string,double”] 如何在matlab中实现这一点?使用正则表达式可以非常轻松地实现这一点 input = '-12,12,0,erogol,bla,3.4,-3.4'; 首先将字符串替换为“string” 下一个是双打 最后捕捉整
'12,23,43,erogol,bla,3.4'
,我想解析它,看看这个字符串中有哪种类型的值。例如,如果我将该字符串赋给函数,我希望函数返回一个向量,如output=[“integer,integer,integer,string,string,double”]
如何在matlab中实现这一点?使用正则表达式可以非常轻松地实现这一点
input = '-12,12,0,erogol,bla,3.4,-3.4';
- 首先将字符串替换为“string”
- 下一个是双打
- 最后捕捉整数:
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');
我想对于字符串,我们需要使用+而不是*是,对于这个测试用例,
+
和*
给出了相同的结果。但是,这不会捕获包含数字的字符串。因此string1
将转换为stringinteger
。