how to search for a string inside a file in matlab

to search a word inside a .dat file to read data under that line

1 Comment

It depends on the format of the .dat file. There is no standard for this file type, so we cannot guess the details.

Sign in to comment.

 Accepted Answer

Jan
Jan on 22 Oct 2016
Edited: Jan on 26 Oct 2016
Guessed, tha the .dat file is a text file and you want to search fpr the occurence of a string anywhere in a line:
fid = fopen(FileName, 'r');
if fid == -1
error('Cannot open file: %s', FileName);
end
key = 'YourStr';
data = 'not found';
ready = false;
lineNo = 0; % [EDITED]
while ~eof(fid) && ~ready
S = fgetl(fid);
lineNo = lineNo + 1; % [EDITED]
if any(strfind(S, key))
data = YourReadMethod;
ready = true;
end
end
fclose(fid);

3 Comments

how to get line number of searched string
Put a line counter variable inside the loop that you increment.
@lafnath p: See [EDITED] in the code. You see, it is not complicated.

Sign in to comment.

More Answers (0)

Categories

Tags

Asked:

on 22 Oct 2016

Commented:

Jan
on 26 Oct 2016

Community Treasure Hunt

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

Start Hunting!