Discover three ways to remove all spaces of a string using replaceAll, replace, and split/join in JavaScript.
If you want to replace spaces in a JavaScript string, you can use the replaceAll
String method.
This function takes two parameters:
After replacing all the occurrences of your string, the function returns a new string. It means that the initial string stays unchanged.
const myString = 'Hello how are you?'
const myStringWithoutSpaces = myString.replaceAll(' ', '') // Replace all spaces with ''
console.log(myStringWithoutSpaces)
// Output: "Hellohowareyou?"
Note: Be careful because some browsers do not support the
replaceAll
method. If you want to have a wide range of support, you can look at thereplace
usage in the next section of this article.
I like to share some use-cases in my articles to help you understand better what you can do with a function.
As an example, you have a post title with the following name: "replace all spaces of a string in js" (yes, that's the name of the article you're reading! 😁).
Our goal is to build a slug using the String method replaceAll
in JavaScript. If you don't know what it is, a slug is the part of a URL that identifies a particular page on a website.
In our case, we want to have "replace-all-spaces-of-a-string-in-js".
const articleName = 'replace all spaces of a string in js'
const slug = articleName.replaceAll(' ', '-')
console.log(slug)
// Output: "replace-all-spaces-of-a-string-in-js"
One well-known way of replacing all spaces in a string is using the replace
String method.
This function takes two parameters and returns a new string as the replaceAll
String method.
If you don't use a RegExp with a global flag as the pattern (first parameter), the replace
function will only replace the first matching occurrence.
Here is an example with only the first occurrence replaced:
const myString = 'Hello how are you?'
// Replace all spaces matched by the RegExp to nothing ('')
const myStringWithoutSpaces = myString.replace(' ', '')
console.log(myStringWithoutSpaces)
// Output: "Hellohow are you?"
Now, if you want to replace all spaces in JS using replace
, as mentioned before, you should use a RegExp with a global flag:
const myString = 'Hello how are you?'
// Be careful of using the global flag at the end of your RegExp ('g')
const whitespaceRegExp = / /g
// Replace all spaces matched by the RegExp to nothing ('')
const myStringWithoutSpaces = myString.replace(whitespaceRegExp, '')
console.log(myStringWithoutSpaces)
// Output: "Hellohowareyou?"
Another way to remove all the occurrences of one character in a string is to convert it to an array using the split
String method with a delimiter. Then, converting back to a string with the join
Array method.
const myString = 'Hello how are you?'
// Convert to array using ' ' delimiter
const myStringToArray = myString.split(' ')
console.log(myStringToArray)
// Output: ["Hello", "how", "are", "you?"]
// Convert back the string to an array using no delimiters
const myStringWithoutSpaces = myStringToArray.join('')
console.log(myStringWithoutSpaces)
// Output: "Hellohowareyou?"