26

If I have a string with multiple spaces between words:

Be an      excellent     person

using JavaScript/regex, how do I remove extraneous internal spaces so that it becomes:

Be an excellent person
4

4 Answers 4

38

You can use the regex /\s{2,}/g:

var s = "Be an      excellent     person"
s.replace(/\s{2,}/g, ' ');
Sign up to request clarification or add additional context in comments.

1 Comment

Note: If you are attempting to remove multiple spaces from (for example) a tab separated file, this will sometimes remove the tabs. That is the only difference between this answer and Yi Jiang's answer.
12

This regex should solve the problem:

var t = 'Be an      excellent     person'; 
t.replace(/ {2,}/g, ' ');
// Output: "Be an excellent person"

Comments

9

Something like this should be able to do it.

 var text = 'Be an      excellent     person';
 alert(text.replace(/\s\s+/g, ' '));

Comments

3

you can remove double spaces with the following :

 var text = 'Be an      excellent     person';
 alert(text.replace(/\s\s+/g, ' '));

Snippet:

 var text = 'Be an      excellent     person';
 //Split the string by spaces and convert into array
 text = text.split(" ");
 // Remove the empty elements from the array
 text = text.filter(function(item){return item;});
 // Join the array with delimeter space
 text = text.join(" ");
 // Final result testing
 alert(text);
 
 

1 Comment

How is this different from accepted answer? Why your snippet completly different from code?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.