Does anybody know how to replace first letter as well as same subsequent letters of a word with dot in a string?
For instance:
'MOMENT AND INITIALIZATION'
i need: '.O.ENT AND .N.T.AL.ZAT.ON'
To note, I need all white spaces to be saved as they are.

Antworten (1)

Star Strider
Star Strider am 4 Mai 2020

0 Stimmen

Try this:
str = 'MOMENT AND INITIALIZATION';
newstr = str;
old = {'M','I'}';
for k = 1:numel(old)
newstr = strrep(newstr, old(k),{'.'});
end
newstr
producing:
newstr =
1×1 cell array
{'.O.ENT AND .N.T.AL.ZAT.ON'}

2 Kommentare

Dos Zhu
Dos Zhu am 4 Mai 2020
what if I prompt user to enter words?
Star Strider
Star Strider am 4 Mai 2020
First, I would use the inputdlg function for tthat.
Second, the strrep function is case-sensitive, so you would need to account for that. It would likely be easiest to use the upper function to convert the input string to all uppercase, then do the replacements.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Characters and Strings finden Sie in Hilfe-Center und File Exchange

Tags

Gefragt:

am 4 Mai 2020

Kommentiert:

am 4 Mai 2020

Community Treasure Hunt

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

Start Hunting!

Translated by