Effacer les filtres
Effacer les filtres

How can I modifya string into a ".m" file from a new ".m" file?

9 vues (au cours des 30 derniers jours)
Antonio
Antonio le 10 Oct 2012
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 commentaires
Matt Kindig
Matt Kindig le 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
Antonio le 11 Oct 2012
clc clear all
INTERV_DOWN=3000; INTERV_UP=4000;
TEXT = FILEREAD('changestrings.m');
MODIFIEDSTR = STRREP(TEXT,'1000','INTERV_DOWN') MODIFIEDSTR = STRREP(TEXT,'1500','INTERV_UP')
ERROR: ??? Undefined function or method 'STRREP' for input arguments of type 'char'.
Error in ==> aprire at 14 MODIFIEDSTR = STRREP(TEXT,'1000','INTERV_DOW')

Connectez-vous pour commenter.

Réponses (1)

Image Analyst
Image Analyst le 10 Oct 2012
Yes, use fopen, fgets or fgetl, fprintf, and fclose.
  2 commentaires
Antonio
Antonio le 11 Oct 2012
clc clear all
INTERV_DOWN=3000; INTERV_UP=4000;
TEXT = FILEREAD('changestrings.m');
MODIFIEDSTR = STRREP(TEXT,'1000','INTERV_DOWN') MODIFIEDSTR = STRREP(TEXT,'1500','INTERV_UP')
ERROR: ??? Undefined function or method 'STRREP' for input arguments of type 'char'.
Error in ==> aprire at 14 MODIFIEDSTR = STRREP(TEXT,'1000','INTERV_DOW')
Image Analyst
Image Analyst le 11 Oct 2012
Try strrep() instead of STRREP(). MATLAB is case sensitive.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by