Reading numeric part of line n MATLAB

2 次查看(过去 30 天)
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.

采纳的回答

Cam Salzberger
Cam Salzberger 2017-9-7
编辑:Cam Salzberger 2017-9-10
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by