reading strings between spaces from a text file.
161 views (last 30 days)
Rakesh Praveen on 28 Sep 2014
The text file 'test_text.txt' contains something like this:
2.000000e-01 3 4.230000e-0 1 2
I wanted to pick each number between the spaces in a array and later i can process them. I am able to pick what I need with the code below. So if you see in line2 'X_data' contains all strings in a array so i can access them later. But say suppose there are 100 numbers in that line in the text file and i wanted to pick X_data(90) then how do I do it without keep writing %s so many times in textscan command ? Thank you.
fid = fopen('test_text.txt','r');
X_data = textscan(fid2,'%s %s %s %s');
str = X_data(4);
More Answers (2)
Geoff Hayes on 28 Sep 2014
Rakesh - is it necessary that you treat all the data in the file as strings, especially since they appear (from your example) to be numeric? If not, then you could import the data using importdata where you specify that the delimiter between each column of data is the space character
Then X_data(90) would return the 90th element from the only row in that file.
Mohammad R. Ghassemi on 14 Oct 2021
I need to read each line in a text file as a comple string including space such as 'n30e 45se', and apply a set of functions such as 'M=strfind(str,'n')' to each line, and get an output text file.