How to remove spaces from a string using JavaScript?
This?
str = str.replace(/\s/g, '');
Example
var str = '/var/www/site/Brand new document.docx';
document.write( str.replace(/\s/g, '') );
Update: Based on this question, this:
str = str.replace(/\s+/g, '');
is a better solution. It produces the same result, but it does it faster.
The Regex
\s
is the regex for "whitespace", and g
is the "global" flag, meaning match ALL \s
(whitespaces).
A great explanation for +
can be found here.
As a side note, you could replace the content between the single quotes to anything you want, so you can replace whitespace with any other string.
var a = b = " /var/www/site/Brand new document.docx ";
console.log( a.split(' ').join('') );
console.log( b.replace( /\s/g, '') );
Two ways of doing this!
SHORTEST and FASTEST: str.replace(/ /g, '');
Benchmark:
Here my results - (2018.07.13) MacOs High Sierra 10.13.3 on Chrome 67.0.3396 (64-bit), Safari 11.0.3 (13604.5.6), Firefox 59.0.2 (64-bit) ):
SHORT strings
Short string similar to examples from OP question
The fastest solution on all browsers is / /g
(regexp1a) - Chrome 17.7M (operation/sec), Safari 10.1M, Firefox 8.8M. The slowest for all browsers was split-join
solution. Change
to \s
or add +
or i
to regexp slows down processing.
LONG strings
For string about ~3 milion character results are:
- regexp1a: Safari 50.14 ops/sec, Firefox 18.57, Chrome 8.95
- regexp2b: Safari 38.39, Firefox 19.45, Chrome 9.26
- split-join: Firefox 26.41, Safari 23.10, Chrome 7.98,
You can run it on your machine: https://jsperf.com/remove-string-spaces/1