Reading numeric part of line n MATLAB

2 vues (au cours des 30 derniers jours)
Poulomi Ganguli
Poulomi Ganguli le 7 Sep 2017
Hi, I have stream gauge information as attached. I want to read the numeric part of line # 15, i.e., catchment area leaving the string part. I tried it like this:
fid_AR = fopen(['Z:\USER\Eva_Steirou\data_GRDC\',Station_name]);
charCell_AR = textscan(fid_AR,'%s','Delimiter','\n');
fclose(fid_AR);
ARLine=charCell_AR{1}{15}
I could extract line 15, but don't know how to extract only numeric part of the line in number form.

Réponse acceptée

Cam Salzberger
Cam Salzberger le 7 Sep 2017
Modifié(e) : Cam Salzberger le 10 Sep 2017
Hello Poulomi,
If you know that you'll only ever have a single colon (:) character in the row, you can use that to split off the numeric part. Here's an example of how to do it with regular expressions:
s = '# Catchment area (km²): 122.300';
tok = regexp(s,'[^:]+:\s+([\S]+)','tokens');
str2double(tok{1}{1})
But you could do it even simpler with strsplit and strtrim:
c = strsplit(s,':');
str2double(strtrim(c{2}))
-Cam

Plus de réponses (0)

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!

Translated by