Removing multiple blanks for a string

30 visualizzazioni (ultimi 30 giorni)
Jerry
Jerry il 30 Ott 2013
Commentato: Tushar Walse il 28 Ago 2019
suppose I have a string mystr='Tom and Jerry' I want to write a function that removes all the spaces and leaves just one space in between each word. So I would want the outcome to be 'Tom and Jerry' I used mystr=mystr(~isspace(mystr)) and got TomandJerry but how would I include one space in bettween each word? Thank you

Risposta accettata

the cyclist
the cyclist il 30 Ott 2013
txt_old = 'Tom and Jerry';
txt_new = regexprep(txt_old,' +',' ')
See
doc regexprep
for details.

Più risposte (2)

Walter Roberson
Walter Roberson il 30 Ott 2013
regexprep() can do that.
Hint: diff()

Craig Szymanski
Craig Szymanski il 22 Mag 2015
A more direct andswer for anyone looking is:
function [strOut]=removeExtraSpaces(strIn);
temp2=strIn;
temp1='';
%Replaces double spaces with single spaces until the string doesn't change for an iteration.
while ~strcmp(temp1,temp2)
temp1=temp2;
temp2=regexprep(temp1,' ',' ');
end
strOut=temp2;
  4 Commenti
Stephen23
Stephen23 il 28 Ago 2019
Modificato: Stephen23 il 28 Ago 2019
"Actually ...isn't working for some combination of strings. May be its a bug..."
If you upload some example strings that show this behavior then we can check this, and most likely also suggest how to deal with it efficiently (i.e. without a while loop).
"regexprep... in a loop is good workaround"
Identifying and fixing the root cause is even better.
Tushar Walse
Tushar Walse il 28 Ago 2019
Sorry my mistake. I realized the problem was when displaying strings in multiline edit box ghost spaces get displayed which I thought are coming from the output of regexprep. I may sound completely stupid sorry again. Also I deleted the comment (seems I committed another stupid mistake).

Accedi per commentare.

Categorie

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

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by