Extracting Numbers from a mixed string
1 次查看(过去 30 天)
显示 更早的评论
Hi!
I would like to know how to extact the numbers from this string,
such that:
a = [ 3.00, 3.1390 , 0.0070, 1160]
b = [ 20.00. 20.1350, 0.012. 1323]
0070 , 1160
"Lung: 3.00 Calibrated: 3.1390 Uncertainty: 0.0070 Asset# 1160 Cal= N/A Due= N/A"
"Lung: 20.00 Calibrated: 20.1350 Uncertainty: 0.0120 Asset# 1323 Cal= N/A Due= N/A"
I cannot get the correct value with b=regexp(str,'\d?\.?\d+','match'), but I am close I think.
It works for a, but not for b
Cheers
HRG
0 个评论
采纳的回答
Kelly Kearney
2020-7-16
Assuming numbers only appear as properly-formatted combos, you can simply look for all number-decimal groups:
b = regexp(str, '[\d\.]+', 'match');
This one is a little more picky, making sure the number-decimal groups form a "proper" number (i.e. wouldn't match something like 1.2.3)
b = regexp(str, '\d+\.{0,1}\d+', 'match');
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!