extracting specific part from txt file

14 views (last 30 days)
sermet
sermet on 3 Sep 2015
Edited: Cedric Wannaz on 3 Sep 2015
I need to create column from attached txt file as follows;
a=[87.5;85;82.5;80]; %for each LAT/LON1/LON2/DLON/H
%The txt file's column number is variable.

Accepted Answer

Cedric Wannaz
Cedric Wannaz on 3 Sep 2015
Edited: Cedric Wannaz on 3 Sep 2015
It is difficult to understand what "for each .." means in your question. If you just need to extract the numbers that you specified, the following is one possible approach:
content = fileread( 'trial.txt' ) ;
matches = regexp( content, '[-\d\.]+(?=-\d)', 'match' ) ;
data = str2double( matches ) ;
which outputs
>> data
data =
87.5000 85.0000 82.5000 80.0000
It may not be the most efficient in term of speed, but it is very concise.. could even be a one liner:
data = str2double( regexp( fileread('trial.txt'), '[-\d\.]+(?=-\d)', 'match' )) ;

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!