How do I replace a word in a string with ****?

3 views (last 30 days)
Hello I have a text file where I am supposed to compare the strings in the text file with the words in another text file. After finding the word that I want to replace, how do I replace it? The first thing I did was use strfind to find the word. After that I have to replace the word with **?
str = 'Long day';
word = 'Long';
t = strfind(str, word);
After doing this I get 1. Now how do I change 'Long day' to '**** day'? The word can be of any length, so you may need more ********.
Thank you

Accepted Answer

per isakson
per isakson on 28 Feb 2015
Edited: per isakson on 28 Feb 2015
Try
str = strrep( str, 'Long', '****' );
  2 Comments
Kratos
Kratos on 28 Feb 2015
I tried this but the thing is the word that I have to replace can be of any length. It could also be 'something' or 'MATLAB' anything.
per isakson
per isakson on 1 Mar 2015
Edited: per isakson on 1 Mar 2015
"can be of any length" &nbsp strrep handles any length of the search and replacement string, respectively. That shouldn't be a problem.
>> str = strrep( 'abcd', 'c', '123456789' )
str =
ab123456789d
"It could also be 'something' or 'MATLAB' anything" &nbsp I guess you need to use string variables instead of static strings.
>> str = 'abcd';
>> s1 = 'c';
>> s2 = '123456789';
>> str = strrep( str, s1, s2 )
str =
ab123456789d
Then there is regexprep, but I don't think you need to use that for your current problem
"I tried this" &nbsp It is neither possible for me to know what you tried nor why you think it was no good.

Sign in to comment.

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!