DEV Community

Cover image for JavaScript `string.replace()` useful cases
Muhammad A Faishal
Muhammad A Faishal

Posted on • Updated on

JavaScript `string.replace()` useful cases

1. Simple String Replacement

Replace the first occurrence of a substring.

let str = "Hello world!";
let result = str.replace("world", "JavaScript");

// Output: "Hello JavaScript!"
Enter fullscreen mode Exit fullscreen mode

2. Global String Replacement

Replace all occurrences of a substring, use the global (g) flag with regular expression.

let str = "Hello world, world!";
let result = str.replace(/world/g, "JavaScript");

// Output: "Hello JavaScript, JavaScript!"

Enter fullscreen mode Exit fullscreen mode

3. Case-insensitive Replacement

You can make the replacement case-insensitive using the i flag.

let str = "Hello World, World!";
let result = str.replace(/world/gi, "JavaScript")

// Output: "Hello JavaScript, JavaScript!"
Enter fullscreen mode Exit fullscreen mode

4. Replace Whole Words (Word Boundary)

Replace only whole words using \b word boundary.

let str = "This is a test word, test.";
let result = str.replace(/\btest\b/, "success");

// Output: "This is a success word, test."
Enter fullscreen mode Exit fullscreen mode

Replace all occurrences of the whole word, use the global flag.

let str = "This is a test word, test.";
let result = str.replace(/\btest\b/g, "success");

// Output: "This is a success word, success."
Enter fullscreen mode Exit fullscreen mode

5. Using a Function for Replacement

You can pass a function to replace() that dynamically generates the replacement string.

let str = "The price is $10";
let result = str.replace(/\$\d+/g, (match) => {
   return `$${parseInt(match.substring(1)) * 2}`
});

// Output: "The price is $20"
Enter fullscreen mode Exit fullscreen mode

6. Capturing Groups with Replacement

Using regular expressions, you can capture parts of the match and reuse them in the replacement string.

let str = "John Smith";
let result = str.replace(/(\w+)\s(\w+)/, "$2, $1");

// Output: "Smith, John"
Enter fullscreen mode Exit fullscreen mode

7. Escaping Special Characters

If you need to replace special characters like . or *, you need to escape them in the regular expression.

let str = "Price: 5.99";
let result = str.replace(/\./, ",");

// Output: "Price: 5,99"
Enter fullscreen mode Exit fullscreen mode

8. Replacing Non-ASCII Characters

To replace characters that aren't in the ASCII range, you can use Unicode properties.

let str = "Héllo Wörld";
let result = str.replace(/[^\x00-\x7F]/g, "");

// Output: "Hllo Wrld"
Enter fullscreen mode Exit fullscreen mode

9. Replacing Digits

You can replace digits (or groups of digits) using regular expressions.

let str = "Contact: 123-456-7890";
let result = str.replace(/\d{3}/g, "***");

// Output: "Contact: ***-***-***0"
Enter fullscreen mode Exit fullscreen mode

10. Replacing Special Characters using Unicode

You can also use Unicode escape sequences to replace special characters.

let str = "I love ☕!";
let result = str.replace(/\u2615/g, "coffee"); 

// Output: "I love coffee!"
Enter fullscreen mode Exit fullscreen mode

11. Replace Words using Lookbehind and Lookahead assertion

Replace only whole words while preserving the surrounding whitespace.

let str = "This is a test word, test.";
let result = str.replace(/(?<=\s|^)test(?=\s|$)/, "success");

// Output: "This is a success word, test."
Enter fullscreen mode Exit fullscreen mode

Replace all occurrences of the whole word, use the global flag.

let str = "This is a test word, test.";
let result = str.replace(/(?<=\s|^)test(?=\s|$)/g, "success");

// Output: "This is a success word, test."
Enter fullscreen mode Exit fullscreen mode

Top comments (0)