remove to only one whitespace in a string

hi all, I am writing a function that to remove the blanks between the words and return it to only one space. like
mystr = 'Lets go party'
Return to
remove_blanks(mystr) = 'Lets go party'
So far, I got mystr = 'Lets go party'; function remove_blanks(mystr) y = mystr(isspace(mystr))='';
I know how to remove all the space between the words but I don't know how to remove to one left.

 Akzeptierte Antwort

Orion
Orion am 11 Nov. 2014
Bearbeitet: Orion am 11 Nov. 2014

3 Stimmen

Hi,
you need to use a regular expression
mystr = 'Lets go party';
mystr = regexprep(mystr,'\s+',' ');
% \s+ means multiple spaces
mystr =
Lets go party

3 Kommentare

jarvan
jarvan am 12 Nov. 2014
ya..I'm required to use function to do this, but your code works for me how should I change if I have to use function to do this?
Guillaume
Guillaume am 12 Nov. 2014
It's not clear what you're asking. regexp is a function.
just do a function :
function cleanstr = remove_blanks(mystr)
cleanstr = regexprep(mystr,'\s+',' ');

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Guillaume
Guillaume am 11 Nov. 2014

0 Stimmen

A regular expression is the simplest way to do that. Otherwise you can always strsplit the string (which ignores multiple spaces by default) and strjoin it back.

Kategorien

Gefragt:

am 11 Nov. 2014

Kommentiert:

am 12 Nov. 2014

Community Treasure Hunt

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

Start Hunting!

Translated by