read a number after a specific string in a txt file
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ferial Assmani
el 29 de Mzo. de 2013
Comentada: Oscar Espinosa
el 30 de Mayo de 2020
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 comentarios
Respuesta aceptada
Cedric
el 29 de Mzo. de 2013
Editada: Cedric
el 29 de Mzo. de 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 comentarios
Oscar Espinosa
el 30 de Mayo de 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]);
Más respuestas (0)
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!