String parsing
31 次查看(过去 30 天)
显示 更早的评论
input string s='Temp : 34, Altitude : 35, Pressure : 45' . I now want to store Temp, Alt and Pressure value in three different Strings. How to do the parsing in this case..??? Pls help.
0 个评论
采纳的回答
Geoff
2012-5-30
It kinda depends on how flexible you need to be. Are the tags ever in a different order? Is the format EXACTLY as given? Are the numbers always integers?
Something as simple as this could work:
sscanf(s, 'Temp : %f, Altitude : %f, Pressure : %f')
[EDIT] Oh, sorry, you said "strings":
regexp(s, ':\s*(\d+),.*:\s*(\d+),.*:\s*(\d+)', 'tokens')
2 个评论
Geoff
2012-5-30
\s* matches 0 or more whitespace characters. \d+ matches 1 or more digits (note that if you want to accept non-integers or negative values, you can probably get away with using \w+ which matches 1 or more non-whitespace characters) . The parentheses means I want to specifically extract the stuff inside. Read the help for regexp, or find regular expression tutorials on the internet. These things are not just confined to MatLab.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 String Parsing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!