read a number after a specific string in a txt file
3 views (last 30 days)
Show older comments
i want to read the number after a specific string in a txt file, for example:
First parameter is 1
Second Parameter is 5
I want like result P1 = 1 and P2 = 5, I note that there is a variable spaces between the wanted strings and the wanted data. Tanks
0 Comments
Accepted Answer
Cedric
on 29 Mar 2013
Edited: Cedric
on 29 Mar 2013
As it's a bit more elaborate than your previous question, it might be time to go for a regexp solution (even though you can always use STRFIND, SSCANF, etc).
Are these parameters listed in an increasing order? I.e. could we detect "parameter is" and get what follows iteratively, in order to build an array P whose 1st element is what you call P1, second element is what you call P2, etc?
I'm asking, because you could have a solution like
>> buffer = fileread('theFile.txt') ;
>> P = str2double(regexpi(buffer, '(?<=parameter is\s*)\d*', 'match'))
P =
1 5
If parameters are not ordered, we have to match them more specifically though.
7 Comments
Oscar Espinosa
on 30 May 2020
Hi, I tried this solution, but doesn't fit in my case. I have a line, which need to be read in each iteration due to the change in its value. The lines is the next:
*GET G FROM SSUM ITEM=ITEM G VALUE= 0.238690015E+13
What I have tried its without success:
str2double(regexpi(buffer, '(?<=VALUE= \d*', 'match'));
and
sscanf(buffer, '%*s %15.9e', [1, inf]);
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!