Filter löschen
Filter löschen

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

9 Ansichten (letzte 30 Tage)
Antonio
Antonio am 10 Okt. 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 Kommentare
Matt Kindig
Matt Kindig am 10 Okt. 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 am 11 Okt. 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')

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Image Analyst
Image Analyst am 10 Okt. 2012
Yes, use fopen, fgets or fgetl, fprintf, and fclose.
  2 Kommentare
Antonio
Antonio am 11 Okt. 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 am 11 Okt. 2012
Try strrep() instead of STRREP(). MATLAB is case sensitive.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by