how to search for a string inside a file in matlab

23 views (last 30 days)
to search a word inside a .dat file to read data under that line
  1 Comment
Jan
Jan on 22 Oct 2016
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
Image Analyst
Image Analyst on 22 Oct 2016
Put a line counter variable inside the loop that you increment.
Jan
Jan on 26 Oct 2016
@lafnath p: See [EDITED] in the code. You see, it is not complicated.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!