Azzera filtri
Azzera filtri

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

4 visualizzazioni (ultimi 30 giorni)
Rodriguez Pham
Rodriguez Pham il 22 Giu 2016
Risposto: Shameer Parmar il 23 Giu 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.

Risposte (1)

Shameer Parmar
Shameer Parmar il 23 Giu 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);

Community Treasure Hunt

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

Start Hunting!

Translated by