How to read required information from particular line

1 view (last 30 days)
Hi, I want to read from particular line as follows:
From the text file I want to read after the below line:
Additional information:
Alarm:100567
system error alarm:5480
I want to save information above the line where it appears 5480. The line above this is "Alarm:100567" Finally I want to note 100567 in my output.
Please help me how to do this. (I tried with strtok, but not successes).
Many thanks in advance

Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 11 Jul 2015
Edited: Azzi Abdelmalek on 11 Jul 2015
fid=fopen('file.txt')
a=fgetl(fid)
k=0
while ischar(a)
k=k+1
r{k,1}=a
a=fgetl(fid)
end
fclose(fid)
id=find(~cellfun(@isempty,regexp(r,'5480')))
c=regexp(r(id-1),'\d+','match')
out=str2double(c{1})
If this repeats in your file
id=find(~cellfun(@isempty,regexp(r,'5480')))
for k=1:numel(id)
c=regexp(r(id(k)-1),'\d+','match')
out(k)=str2double(c{1})
end

Categories

Find more on Data Acquisition Toolbox Supported Hardware 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!