Change/modify data in file?

18 views (last 30 days)
Nora
Nora on 27 Oct 2013
Commented: Nora on 28 Oct 2013
How would I write a script that would replace all occurrences of the old name with the new name and saving this as a new file. To replace the string, I used strrep(), but I am not sure how to use it and to also to save changes onto a new file. What is wrong with my script?
Data file looks as so:
Vendor Customer
Acme XYZ
Tulip2you Flowers4me
Flowers4me Acme
XYZ Cartesian
My script is:
data1 = 'vendorcust.dat';
FID = fopen(data1,'w');
file = type(data1);
newdata = strrep(file, 'Acme','NewAcme');
  1 Comment
Jan
Jan on 27 Oct 2013
Edited: Jan on 27 Oct 2013
Please explain, why you think, that something is wrong with the script. Do not let us guess, what you found out already.

Sign in to comment.

Accepted Answer

Jan
Jan on 27 Oct 2013
type is not thought for importing the contents of a file, but it works. I do not see any trial to create a new file.
FileName = 'vendorcust.dat'; % "data1" is a bad name for the name of a file
Data = fileread(FileName); % Import the file's contents
Data = strrep(Data, 'Acme', 'NewAcme'); % Apply the modification
FID = fopen('vendorcust_new.dat'); % Create a new file
if FID == -1, error('Cannot open file'); end % Always check for success
fwrite(FID, Data, 'char'); % Write data
fclose(FID); % Closing is important
This is a little bit too much help for a homework question. Please consider, that submitting it without mentioning the sources is cheating. But I'm tired and it is harder to assist than to solve here. Sorry!
  1 Comment
Nora
Nora on 28 Oct 2013
This does make sense. Thank you for taking the time to explain each part!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!