Node.js — String Replace All Appearances

Code Sample

String replacements are a common task in app development. JavaScript has powerful string methods and you intentionally think of string.replace() when reading the headline. Good catch, but there’s a trick to replacing all appearances when using it. Read on to get the details!

Node.js Series Overview

  1. String Replace All Appearances
  2. Remove All Whitespace From a String in JavaScript
  3. Generate a Random ID or String in Node.js or JavaScript
  4. Remove Extra Spaces From a String in JavaScript or Node.js
  5. Remove Numbers From a String in JavaScript or Node.js
  6. Get the Part Before a Character in a String in JavaScript or Node.js
  7. Get the Part After a Character in a String in JavaScript or Node.js
  8. How to Check if a Value is a String in JavaScript or Node.js
  9. Check If a String Includes All Strings in JavaScript/Node.js/TypeScript
  10. Check if a Value is a String in JavaScript and Node.js
  11. Limit and Truncate a String to a Given Length in JavaScript and Node.js
  12. Split a String into a List of Characters in JavaScript and Node.js
  13. How to Generage a UUID in Node.js
  14. Reverse a String in JavaScript or Node.js
  15. Split a String into a List of Lines in JavaScript or Node.js
  16. Split a String into a List of Words in JavaScript or Node.js
  17. Detect if a String is in camelCase Format in Javascript or Node.js
  18. Check If a String Is in Lowercase in JavaScript or Node.js
  19. Check If a String is in Uppercase in JavaScript or Node.js
  20. Get the Part After First Occurrence in a String in JavaScript or Node.js
  21. Get the Part Before First Occurrence in a String in JavaScript or Node.js
  22. Get the Part Before Last Occurrence in a String in JavaScript or Node.js
  23. Get the Part After Last Occurrence in a String in JavaScript or Node.js
  24. How to Count Words in a File
  25. How to Shuffle the Characters of a String in JavaScript or Node.js
  26. Append Characters or Words to a String in JavaScript or Node.js
  27. Check if a String is Empty in JavaScript or Node.js
  28. Ensure a String Ends with a Given Character in JavaScript or Node.js
  29. Left-Trim Characters Off a String in JavaScript or Node.js
  30. Right-Trim Characters Off a String in JavaScript or Node.js
  31. Lowercase the First Character of a String in JavaScript or Node.js
  32. Uppercase the First Character of a String in JavaScript or Node.js
  33. Prepend Characters or Words to a String in JavaScript or Node.js
  34. Check if a String is a Number
  35. Convert a String to Buffer
  36. Prevent Line Breaks in String Template Literals

String.replace(): One Appearance

Imagine the following example: you have a string that includes dashes, like a UUID. Now you want to remove all dashes in this string. A way to go is replacing all dashes with an empty string.

Now you may go ahead and use string.replace('-', ''). The problem: it replaces only the first dash because the method searches for the substring“-” and stops when found. It won’t replace the second, third, and other dashes in the string.

const string = 'e851e2fa-4f00-4609-9dd2-9b3794c59619'

console.log(string.replace('-', ''))  
// -> e851e2fa4f00-4609-9dd2-9b3794c59619

The next section describes you how to replace all dash appearances in the string.

String.replace(): Replace All Appearances

A regular expression instead of a string will replace all appearances. Pass it in as the first argument to string.replace():

const string = 'e851e2fa-4f00-4609-9dd2-9b3794c59619'

console.log(string.replace(/-/g, ''))  
// -> e851e2fa4f0046099dd29b3794c59619

As you can see, using a string as the substring to search for will only replace the first appearance. A regular expression with the /g suffix replaces all dashes with an empty string.

Using a Variable

You should create a RegEx when using dynamic values as the search string. JavaScript provides a RegExp class to create a regular expression based on your variables:

const search = '-`  
const replacer = new RegExp(search, 'g')

const string = 'e851e2fa-4f00-4609-9dd2-9b3794c59619'

console.log(string.replace(replacer, '/'))  
// -> e851e2fa/4f00/4609/9dd2/9b3794c59619

Enjoy coding & make it rock!


Mentioned Resources

Explore the Library

Find interesting tutorials and solutions for your problems.