MATLAB Answers

How to filter and delete text from a .m file?

3 views (last 30 days)
Rodriguez Pham
Rodriguez Pham on 22 Jun 2016
Answered: Shameer Parmar on 23 Jun 2016
so im creating a script that read another script and filter out and delete variables that I don't want. How should I go about this? I'm assuming using strfind and then strrep?
Scenario: I have a script lets call it A with a bunch of variables and I am working on script B that will read from an excel file and eval those paramteres. I want use script B to edit script A and removed the variables that are repeated from the excel spread sheet.

  0 Comments

Sign in to comment.

Answers (1)

Shameer Parmar
Shameer Parmar on 23 Jun 2016
Hi Rodriguez,
To read your A.m file, you can use this..
Data = textread('A.m', '%s', 'delimiter', '');
All data of file A.m will be stored into variable ' Data'
you can read and edit the data in variable ' Data' line by line as follows:
for i=1:length(Data)
lineData = Data{i};
% add your logic to remove / replace the data
lineData = strrep(lineData,'ABC','XYZ'); % replace variable 'ABC' with 'XYZ'
newData{i} = lineData;
end
then you can write the newData into A.m file as follows:
fid = fopen('A.m','w');
for i=1:length(newData)
fprintf(fid,'%s\n',newData{i});
end
fclose(fid);

  0 Comments

Sign in to comment.

Sign in to answer this question.