Find the number after a string

조회 수: 5 (최근 30일)
Anton Fernando
Anton Fernando 2019년 11월 4일
댓글: Anton Fernando 2019년 11월 5일
I have a text file containing data blocks. Those blocks are pretty much repetitive. They look like this (added two blocks in bold). There are around 50 blocks like this in the file.
P(22)
Standard Deviation of Fit : 0.00002
Amp 0.0266336611 8.772e-05
nu0 4159.5744620000 1.304e-04
glw 0.0166124171 3.044e-05
nlw 0.0000000000
4159.5695 0.02079 0.02075 0.00004
4159.5699 0.02172 0.02170 0.00002
4159.5704 0.02260 0.02260 0.00000
4159.5709 0.02342 0.02343 -0.00001
4159.5714 0.02416 0.02418 -0.00002
4159.5718 0.02482 0.02484 -0.00002
4159.5723 0.02539 0.02541 -0.00002
4159.5728 0.02586 0.02588 -0.00002
4159.5732 0.02622 0.02624 -0.00001
4159.5737 0.02648 0.02648 -0.00001
4159.5742 0.02661 0.02661 -0.00000
4159.5747 0.02663 0.02662 0.00001
4159.5751 0.02653 0.02652 0.00001
4159.5756 0.02631 0.02629 0.00002
4159.5761 0.02597 0.02595 0.00002
4159.5765 0.02552 0.02550 0.00002
4159.5770 0.02497 0.02495 0.00002
4159.5775 0.02432 0.02430 0.00001
4159.5780 0.02357 0.02357 0.00001
4159.5784 0.02275 0.02275 -0.00001
4159.5789 0.02185 0.02187 -0.00002
4159.5794 0.02089 0.02092 -0.00003
Integrated Cross Section (cm/molecule) : 1.537395e-20
Einstein A Coefficient (1/sec) : 2.097433e-01
R(23)
Standard Deviation of Fit : 0.00000
Amp 0.0237399264 1.270e-05
nu0 4331.0183720000 1.326e-05
glw 0.0166937170 2.409e-06
nlw 0.0000000000
4331.0146 0.02059 0.02058 0.00001
4331.0151 0.02128 0.02127 0.00000
4331.0155 0.02190 0.02190 -0.00000
4331.0160 0.02244 0.02244 -0.00000
4331.0165 0.02289 0.02290 -0.00000
4331.0169 0.02325 0.02326 -0.00000
4331.0174 0.02352 0.02352 -0.00000
4331.0179 0.02368 0.02368 0.00000
4331.0183 0.02374 0.02374 0.00000
4331.0188 0.02370 0.02369 0.00000
4331.0193 0.02354 0.02354 0.00000
4331.0198 0.02329 0.02329 0.00000
4331.0202 0.02294 0.02294 0.00000
4331.0207 0.02249 0.02249 0.00000
4331.0212 0.02196 0.02196 -0.00000
4331.0216 0.02134 0.02134 -0.00000
4331.0221 0.02065 0.02065 -0.00000
Integrated Cross Section (cm/molecule) : 2.026560e-20
Einstein A Coefficient (1/sec) : 2.747273e-01
I need two values from each block (bolded values).
From the first block;
P(22) and the number after the 'Integrated Cross Section (cm/molecule) :' which is 1.537395e-20.
From the second block;
R(23) and the number after the 'Integrated Cross Section (cm/molecule) :'. which is 2.026560e-20.
.....so on for all 50 blocks..
Any help is much appreciated.

채택된 답변

Sean de Wolski
Sean de Wolski 2019년 11월 4일
Something like this:
s = string(fileread(your_file))
val = extractBetween(s, "Einstein A Coefficient (1/sec) :", newline)
double(val)

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Sources에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by