How do I read begin to read data after a string?
25 views (last 30 days)
Show older comments
Desmond Hutchinson
on 5 Aug 2020
Commented: Walter Roberson
on 5 Aug 2020
In a txt file, I want to collect fcz data after "Concrete Stresses", how do I also Import the txt file to do so appropriately.
CONCRETE STRESSES
*****************
ELMT fcx fcy fcz Vcxy Vcyz Vcxz
(MPa) (MPa) (MPa) (MPa) (MPa) (MPa)
1 0.000 0.000 0.000 0.000 0.000 0.000
2 0.000 0.000 0.000 0.000 0.000 0.000
3 0.000 0.000 0.000 0.000 0.000 0.000
4 0.000 0.000 0.000 0.000 0.000 0.000
5 0.000 0.000 0.000 0.000 0.000 0.000
0 Comments
Accepted Answer
Walter Roberson
on 5 Aug 2020
filename = 'ConcreteStresses.txt';
S = fileread(filename);
idx = regexp(S, '^\s*\d', 'once', 'lineanchors');
fmt = repmat('%f', 1, 7);
data = cell2mat( textscan(S(idx:end), fmt) );
fcz = data(:,4);
1 Comment
Walter Roberson
on 5 Aug 2020
In the case where the position of the first line of numeric data is known, it is even easier:
filename = 'ConcreteStresses.txt';
fid = fopen(filename);
fmt = repmat('%f', 1, 7);
data = cell2mat( textscan(fid, fmt, 'headerlines', 6));
fclose(fid);
fcz = data(:,4);
More Answers (0)
See Also
Categories
Find more on Biological Physics 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!