Localize the third vector position using regexp
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Roderick
am 23 Dez. 2023
Beantwortet: Stephen23
am 23 Dez. 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 Kommentare
Akzeptierte Antwort
Stephen23
am 23 Dez. 2023
txt = fileread('test.txt')
rgx = '(?<=Field(\S+\s+){3})\S+';
out = regexp(txt,rgx,'once','match')
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!