How to Replace All Occurrences of a String in JavaScript
To replace all occurrences of a string in JavaScript, you can use the String.prototype.replace()
method with a global regular expression or another more modern approach is using the replaceAll()
method.
Here's a short guide using both approaches:
Using replace() + Regular Expression
Syntax: str.replace(/searchString/g, 'newString')
As an example, let's replace all instances of "cat" with "dog":
const sentence = "The cat sat on the cat mat."; const newSentence = sentence.replace(/cat/g, "dog"); console.log(newSentence); // "The dog sat on the dog mat."
Using replaceAll()
This method was introduced in ES2021 and is supported on all modern browsers.
Syntax: str.replaceAll(searchString, newString)
Now, like the first example, let's replace all instances of "cat" with "dog":
const sentence = "The cat sat on the cat mat."; const newSentence = sentence.replaceAll("cat", "dog"); console.log(newSentence); // "The dog sat on the dog mat."
Note: searchString
can be a string or a global regular expression. This will be handy if you need to do something a little extra like case-insensitive replacing (which we will look at next.) Be aware that it will throw an error if it's not a global expression. This has caught me out before...
Case-Insensitive Replacement
Sometimes, you might need a case-insensitive replacement. You can add the i
flag to the regular expression to perform a case-insensitive replacement.
Let's again replace "cat" with "dog", but this time ignoring the case:
const sentence = "The Cat sat on the cat mat."; const newSentence = sentence.replace(/cat/gi, "dog"); console.log(newSentence); // "The dog sat on the dog mat."
Happy coding! ✌️