remove extra spaces in string javascript

d-_-b picture d-_-b · Jun 7, 2013 · Viewed 53.3k times · Source

what function will turn

 this contains       spaces 
into
this contains spaces
using javascript?

I've tried the following, using similar SO questions, but could not get this to work.

var string = " this contains   spaces ";

newString = string.replace(/\s+/g,''); // "thiscontainsspaces"
newString = string.replace(/ +/g,'');  //"thiscontainsspaces"


Edited the question to focus more on the javascript aspect. Is there a simple pure javascript way to accomplish this?

Answer

Hamish picture Hamish · Jun 7, 2013

You're close.

Remember that replace replaces the found text with the second argument. So:

newString = string.replace(/\s+/g,''); // "thiscontainsspaces"

Finds any number of sequential spaces and removes them. Try replacing them with a single space instead!

newString = string.replace(/\s+/g,' ').trim();