Azzera filtri
Azzera filtri

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

5 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

per isakson
per isakson il 28 Feb 2015
Modificato: per isakson il 28 Feb 2015
Try
str = strrep( str, 'Long', '****' );
  2 Commenti
Kratos
Kratos il 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 il 1 Mar 2015
Modificato: per isakson il 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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by