How can I modifya string into a ".m" file from a new ".m" file?
Show older comments
Hi. I'd like to know if is it possible to modify a string (or part of it) from outside, i.e. create a new ".m" file and modify, or change, strings of an existent ".m" file from the new one. Thanking you for your attention, I'm looking forward for your answers.
3 Comments
Star Strider
on 10 Oct 2012
A .m file is simply a text file, so theoretically, yes.
Matt Kindig
on 10 Oct 2012
Hi Antonio,
Your question is a bit unclear. Are you saying that you want to do a search/replace in the m-file, and then write out the replaced file as a new file? If so, you can either use the "Find & Replace" utility in the Matlab IDE (Ctrl+F), or you can do it in code using something like this:
str = fileread('/path/to/your/mfile.m');
newstr = strrep(str, 'oldtext1', 'replacetext1');
newstr = strrep(newstr, 'oldtext2', 'replacetext2');
% etc.
%now write new file
fid = fopen('/path/to/newfile.m', 'wt');
fprintf(fid, '%s', newstr);
fclose(fid);
Antonio
on 11 Oct 2012
Answers (1)
Image Analyst
on 10 Oct 2012
0 votes
Yes, use fopen, fgets or fgetl, fprintf, and fclose.
2 Comments
Antonio
on 11 Oct 2012
Image Analyst
on 11 Oct 2012
Try strrep() instead of STRREP(). MATLAB is case sensitive.
Categories
Find more on File Operations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!