Extracting number from a string
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
captainmariah
el 30 de Mzo. de 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 comentarios
Respuesta aceptada
Stephen23
el 30 de Mzo. de 2021
str = 'TotalPower:9,7406E+00Watts';
num = sscanf(strrep(str,',','.'),'%*[^:]:%f')
2 comentarios
captainmariah
el 30 de Mzo. de 2021
Editada: captainmariah
el 30 de Mzo. de 2021
Stephen23
el 30 de Mzo. de 2021
Editada: Stephen23
el 30 de Mzo. de 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
Más respuestas (0)
Ver también
Categorías
Más información sobre String Parsing en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!