How to read a text file and only keep certain numbers?
Show older comments
Hi,
I have a text file which contains the information listed below: (similar format)
-------------------------------
Info1.txt
Number: 01
Graduation Year: 2005
Class: 1268
Age: 32
Info2.txt
Number: 02
Graduation Year: 2006
Class: 8640
Age: 31
Info3.txt
Number: 03
Graduation Year: 2005
Class: 5309
Age: 32
Info4.txt
Number: 04
Graduation Year: 2005
Class: 2954
Age: 32
----------------------------
I’m trying to write a Matlab code that reads this .txt file and gives me only the class numbers as a list:
1268
8640
5309
2954
Thanks a lot!
1 Comment
Answers (1)
Once you have the data in MATLAB ( fileread will do the trick) you can use regular expressions to find your data. Use MATLAB's regexp to search for consecutive digits that follow the string "Class: ".
str = fileread(fid); % Fixed based on comment below. Thanks, Walter!
classNums = regexp(str,'(?<=Class: )\d+','match')
classNums = str2double(classNums)
1 Comment
Walter Roberson
on 2 May 2016
The fopen/fread/fclose can be replaced by
str = fileread('myFile.txt');
Categories
Find more on Large Files and Big Data 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!