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. Get Number of Seconds Since Epoch in JavaScript
  2. Get Tomorrow’s Date in JavaScript (Coming soon)
  3. Increase a Date in JavaScript by One Week (Coming soon)

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.

Enjoy coding & make it rock!


Mentioned Resources

Explore the Library

Find interesting tutorials and solutions for your problems.