MATLAB Answers

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

2 ビュー (過去 30 日間)
Rodriguez Pham
Rodriguez Pham 2016 年 6 月 22 日
回答済み: Shameer Parmar 2016 年 6 月 23 日
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.

回答 (1 件)

Shameer Parmar
Shameer Parmar 2016 年 6 月 23 日
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;
then you can write the newData into A.m file as follows:
fid = fopen('A.m','w');
for i=1:length(newData)

Community Treasure Hunt

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

Start Hunting!

Translated by