从混合提取数字字符串。

5视图(30天)
Jeong_evolution
Jeong_evolution 2016年10月29日
评论道: Jeong_evolution 2016年11月3日
Str =[' <数据seq = " 0 " < temp8.0 < <数据seq / temp = " 1 " < temp6.9 < / temp ');
我想提取温度(8.0和6.9)
我想表达的工作区
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tem_1 = 8.0
tem_2 = 6.9
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

接受的答案

马克
马克 2016年10月29日
可能有更好的方法,但如果总是只字符串和数字会改变,您可以使用strfind()获得“临时”的位置
是这样的:
xStr = strfind (Str,“临时”);
temp_1 = str2double (Str (xStr (1) + 4: xStr (1) + 6));
你应该能够找出temp_2 ....

答案(1)

每•艾萨克森
每•艾萨克森 2016年10月29日
编辑:每•艾萨克森 2016年10月29日
使用 正则表达式 匹配字符串组成的(数字、时间、数字),并追求字符串“临时”
Str = [' <数据seq = " 0 " < temp8.0 < <数据seq / temp = " 1 " < temp6.9 < /临时的];
cac = regexp (Str,(? < = temp) \ d \ \ d '。,“匹配”);
temp_2 = str2double (cac {2});
temp_1 = str2double (cac {1});
1评论
Jeong_evolution
Jeong_evolution 2016年11月3日
正则表达式函数是好的。谢谢! !

登录置评。

类别

找到更多的在字符和字符串帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!