How can I modifya string into a ".m" file from a new ".m" file?
Mostrar comentarios más antiguos
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 comentarios
Star Strider
el 10 de Oct. de 2012
A .m file is simply a text file, so theoretically, yes.
Matt Kindig
el 10 de Oct. de 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
el 11 de Oct. de 2012
Respuestas (1)
Image Analyst
el 10 de Oct. de 2012
0 votos
Yes, use fopen, fgets or fgetl, fprintf, and fclose.
2 comentarios
Antonio
el 11 de Oct. de 2012
Image Analyst
el 11 de Oct. de 2012
Try strrep() instead of STRREP(). MATLAB is case sensitive.
Categorías
Más información sobre File Operations en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!