Remove all multiple spaces in Javascript and repla

2019-01-16 06:07发布

问题:

This question already has an answer here:

  • Regex to replace multiple spaces with a single space 21 answers

How can I automatically replace all instances of multiple spaces, with a single space, in Javascript?

I've tried chaining some s.replace but this doesn't seem optimal.

I'm using jQuery as well, in case it's a builtin functionality.

回答1:

You could use a regular expression replace:

str = str.replace(/ +(?= )/g,'');

Credit: The above regex was taken from Regex to replace multiple spaces with a single space



回答2:

There are a lot of options for regular expressions you could use to accomplish this. One example that will perform well is:

str.replace( /\s\s+/g, ' ' )

See this question for a full discussion on this exact problem: Regex to replace multiple spaces with a single space



回答3:

you all forget about quantifier n{X,} http://www.w3schools.com/jsref/jsref_regexp_nxcomma.asp

here best solution

str = str.replace(/\s{2,}/g, ' ');


回答4:

You can also replace without a regular expression.

while(str.indexOf('  ')!=-1)str.replace('  ',' ');