how to extract double value from a string?
28 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Happy PhD
il 17 Feb 2023
Commentato: Luca Ferro
il 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 Commenti
Risposta accettata
Dyuman Joshi
il 17 Feb 2023
Spostato: Star Strider
il 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'),',','.'))
Più risposte (1)
Luca Ferro
il 17 Feb 2023
Modificato: Luca Ferro
il 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 Commenti
VBBV
il 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)
Vedere anche
Categorie
Scopri di più su Characters and Strings in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!