Extracting number from a string
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
captainmariah
am 30 Mär. 2021
Bearbeitet: Stephen23
am 30 Mär. 2021
Hi, I want to extact the number from this string.
res_str ='TotalPower:9,7406E+00Watts'
I used below to find the index of the semi-colon, but how can I get the number from this format?
index = strfind(res_str, ':')-1
theNumber = str2double(res_str(index:21)) % - gives just NAN
Want to find the number positions (the start and end of the number, i.e. pos 12 and 21 in this case) and convert this to a number 9.7406E00
theNumber = (res_str(12:21))
theNumber =
'9,7406E+00'
Many thanks
0 Kommentare
Akzeptierte Antwort
Stephen23
am 30 Mär. 2021
str = 'TotalPower:9,7406E+00Watts';
num = sscanf(strrep(str,',','.'),'%*[^:]:%f')
2 Kommentare
Stephen23
am 30 Mär. 2021
Bearbeitet: Stephen23
am 30 Mär. 2021
"What does this part do?"
That defines the format for extracting data from the string: read the sscanf documentation to know more.
... %*[^:]:%f Three distinct parts of the format string:
... %*[^:] Read and discard all non-colon characters
... : Literal colon character
... %f Read number, including optional exponent
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu String Parsing finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!