我想截断/清理matlab表的一个单元格,例如:
重要=
2×8台
Var3 Var5 Var6 Var7 Var8 Var9 Var10 Var11
________ __________________ ___________ ____________ ___________ ____________ ____________ __________
09:13:30 'Zone="<0>"' 'Vset="19"' 'Vrdb="0.0"' 'Iset="10"' 'Irdb="0.0"' 'Pset="190"' 'Prdb="0"'
09:13:30 'Zone="<1>"' 'Vset="19"' 'Vrdb="0.0"' 'Iset="10"' 'Irdb="0.0"' 'Pset="190"' 'Prdb="0"'
我希望能够截断Var5,将其修剪为仅数字(在这种情况下为1或0(。我不知道是否最好退出Var5并对其进行修改或其他什么。
如有任何指导,我们将不胜感激。感谢
让我们定义
t = table;
t.Var5 = {'Zone="<0>"'; 'Zone="<1>"'};
t.Var6 = {'Vset="19"'; 'Vset="19"'};
假设你想要的数字只是一个序列或数字(没有符号、小数等(,每个表条目只包含一个这样的序列(或者你只想要第一个(,并且你想要结果作为字符向量:
t.Var5 = regexp(t.Var5, 'd+', 'match', 'once');
之前:
t =
2×2 table
Var5 Var6
__________________ ___________
'Zone="<0>"' 'Vset="19"'
'Zone="<1>"' 'Vset="19"'
之后:
t =
2×2 table
Var5 Var6
____ ___________
'0' 'Vset="19"'
'1' 'Vset="19"'
如果您希望结果为数字:
t.Var5 = str2double(regexp(t.Var5, 'd+', 'match', 'once'));
之后
t =
2×2 table
Var5 Var6
____ ___________
0 'Vset="19"'
1 'Vset="19"'