remove to only one whitespace in a string

11 次查看(过去 30 天)
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.

采纳的回答

Orion
Orion 2014-11-11
编辑:Orion 2014-11-11
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 个评论
Guillaume
Guillaume 2014-11-12
It's not clear what you're asking. regexp is a function.
Orion
Orion 2014-11-12
just do a function :
function cleanstr = remove_blanks(mystr)
cleanstr = regexprep(mystr,'\s+',' ');

请先登录,再进行评论。

更多回答(1 个)

Guillaume
Guillaume 2014-11-11
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.

类别

Help CenterFile Exchange 中查找有关 String Parsing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by