help with regexp on txt file

1 view (last 30 days)
idam hamawi
idam hamawi on 1 Jan 2021
Edited: Ive J on 2 Jan 2021
Hi all,
I have a txt file which contain in one row: (example)
16/12/2020 18:30:59.443 abcabcabcabcabcabcabc Vco 7000 Ico 3200
I succeeded to capture the date and time and i need help to capture the numbers after specific name like Vgr or Igr. I want the numbers 7000 and 3200.
For the date and time i used th expresion:
expression_date = ['(?<day>\d+)/(?<months>\d+)/(?<year>\d+)'];
Date=regexp(fid{1,1},expression_date,'match');
expression_time = ['(?<hour>\d+):(?<minute>\d+):(?<second>\d+)'];
Time=regexp(fid{1,1},expression_time,'match');
Thank you!

Accepted Answer

Ive J
Ive J on 1 Jan 2021
Edited: Ive J on 2 Jan 2021
str = '16/12/2020 18:30:59.443 Ico 3 Vco 1e7 Ico -3.2e+8 Vco 1.12e-7 Ico -3200 Vco 2.345e14';
regexp(str, '(?<=(Vco|Ico)\s*)[+-]?\d+[.]?(\d+)?[e]?[+-]?(\d+)?', 'match')
1×6 cell array
Columns 1 through 5
{'3'} {'1e7'} {'-3.2e+8'} {'1.12e-7'} {'-3200'}
Column 6
{'2.345e14'}
  5 Comments
idam hamawi
idam hamawi on 2 Jan 2021
Edited: idam hamawi on 2 Jan 2021
Thank you, you are really helped me.
One last thing if you can.
I have a number: 1.8e-07
Do you know how can i read that?
Ive J
Ive J on 2 Jan 2021
Check it now.

Sign in to comment.

More Answers (0)

Categories

Find more on Software Development Tools in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!