Localize the third vector position using regexp
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Roderick
el 23 de Dic. de 2023
Respondida: Stephen23
el 23 de Dic. de 2023
Hello everyone,
I am analyzing some data files in a loop, which look like this:
#------------------------------------------------------
# Atomistic spin configuration file for vampire v5+
#------------------------------------------------------
# Date: Thu Dec 21 02:16:27 2023
#------------------------------------------------------
Time: 1e-10
Field: -0 -0 -3
Temperature: 0
Magnetisation: 0.0276355 0.000325712 -0.999618
#------------------------------------------------------
Number of spin files: 1
spins-00000000.data
In particular, I am interested in the information localized after "Field:", which has the form of a three-dimensional vector (-0,-0,-3). I want to be able to have access to the third component of this vector, "-3". If I use:
field_str=regexp(meta_file_read,'(?<=^Field:\s+)\S+','match','lineanchors');
I am able to obtain the information localized in the first component of the field vector, "-0". Is there an efficient way to access the third component of the field vector using regexp?
0 comentarios
Respuesta aceptada
Stephen23
el 23 de Dic. de 2023
txt = fileread('test.txt')
rgx = '(?<=Field(\S+\s+){3})\S+';
out = regexp(txt,rgx,'once','match')
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!