DEV Community

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

Posted on • Edited 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)