how to extract double value from a string?

28 visualizaciones (últimos 30 días)
Happy PhD
Happy PhD el 17 de Feb. de 2023
Comentada: Luca Ferro el 17 de Feb. de 2023
I been trying to figure our how to extract certain numbers from a string with this layout:
D:\MATLAB\noise_check\bilder\Image_230217_1227_Temp_ 42,75.png"
I want to extract the value 42.75 from it. Any ideas how I can do this?
I tried this but it gives me NaN as result:
V = str2double(regexp(fullFileNames,'\d+','match'))
This gives error "Error using sscanf, first argument mustnbe a text scalar".
d = sscanf(fullFileNames, '%d %d %d')
Thanks

Respuesta aceptada

Dyuman Joshi
Dyuman Joshi el 17 de Feb. de 2023
Movida: Star Strider el 17 de Feb. de 2023
"I tried this but it gives me NaN as result: "
Does it? Let's check -
str = "D:\MATLAB\noise_check\bilder\Image_230217_1227_Temp_ 42,75.png";
V = str2double(regexp(str,'\d+','match'))
V = 1×4
230217 1227 42 75
out = str2double(replace(regexp(str, '\d+,\d+', 'match'),',','.'))
out = 42.7500
  1 comentario
Happy PhD
Happy PhD el 17 de Feb. de 2023
Editada: Happy PhD el 17 de Feb. de 2023
My strings are an cell array so maybe thats why it doesn't work.

Iniciar sesión para comentar.

Más respuestas (1)

Luca Ferro
Luca Ferro el 17 de Feb. de 2023
Editada: Luca Ferro el 17 de Feb. de 2023
assuming the string is always formatted as such you could just:
s='D:\MATLAB\noise_check\bilder\Image_230217_1227_Temp_ 42,75.png'
numS=s(end-8:end-4);
numS2D=replace(numS(',','.'); %necessary since the conversion to double needs . and not ,
numD=str2double(numS2D)
  2 comentarios
VBBV
VBBV el 17 de Feb. de 2023
s='D:\MATLAB\noise_check\bilder\Image_230217_1227_Temp_ 42,75.png'
s = 'D:\MATLAB\noise_check\bilder\Image_230217_1227_Temp_ 42,75.png'
numS=s(end-8:end-4)
numS = '42,75'
numS2D=replace(numS,',','.'); % may be you mean this
numD=str2double(numS2D)
numD = 42.7500
Luca Ferro
Luca Ferro el 17 de Feb. de 2023
yep, typo. Thanks for the correction

Iniciar sesión para comentar.

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by