how to extract double value from a string?
30 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Happy PhD
am 17 Feb. 2023
Kommentiert: Luca Ferro
am 17 Feb. 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
0 Kommentare
Akzeptierte Antwort
Dyuman Joshi
am 17 Feb. 2023
Verschoben: Star Strider
am 17 Feb. 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'))
out = str2double(replace(regexp(str, '\d+,\d+', 'match'),',','.'))
1 Kommentar
Weitere Antworten (1)
Luca Ferro
am 17 Feb. 2023
Bearbeitet: Luca Ferro
am 17 Feb. 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 Kommentare
VBBV
am 17 Feb. 2023
s='D:\MATLAB\noise_check\bilder\Image_230217_1227_Temp_ 42,75.png'
numS=s(end-8:end-4)
numS2D=replace(numS,',','.'); % may be you mean this
numD=str2double(numS2D)
Siehe auch
Kategorien
Mehr zu Characters and Strings finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!