Reading numbers from a text file
Show older comments
How to read only numbers from the file of following format
(title "dm_m")
(labels "dm_m" "Position")
((xy/key/label "point_40")
0.000128835 18.1347
)
((xy/key/label "point_41")
-4.16311e-06 20.2711
)
((xy/key/label "point_42")
8.93259e-05 22.4074
)
((xy/key/label "point_43")
0.000130064 24.5438
)
((xy/key/label "point_44")
0.000131733 26.6802
)
((xy/key/label "point_45")
0.000147312 28.8166
)
((xy/key/label "point_46")
0.000141488 30.9529
)
((xy/key/label "point_47")
0.000136125 33.0893
)
)
Accepted Answer
More Answers (1)
Andrei Bobrov
on 17 Jul 2015
Edited: Andrei Bobrov
on 17 Jul 2015
f = fopen('data_in_your_format.txt');
c = textscan(f,'%s','delimiter','\n');
fclose(f);
c = c{:};
[~,~,~,z] = regexp(c,'-*\d+\.\d+(e-*\d+)*');
z1 = z(~cellfun(@isempty,z));
out = str2double(reshape([z1{:}],2,[])');
2 Comments
Andrei Bobrov
on 17 Jul 2015
Edited: Andrei Bobrov
on 17 Jul 2015
corrected 2
Categories
Find more on Switches and Breakers in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!