how to extract double value from a string?
11 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Dyuman Joshi
le 17 Fév 2023
Déplacé(e) : Star Strider
le 17 Fév 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 commentaire
Plus de réponses (1)
Luca Ferro
le 17 Fév 2023
Modifié(e) : Luca Ferro
le 17 Fév 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 commentaires
VBBV
le 17 Fév 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)
Voir également
Catégories
En savoir plus sur Characters and Strings dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!