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
- Callback and Promise Support in your Node.js Modules
- Increase the Memory Limit for Your Process
- Why You Should Add “node” in Your Travis Config
- Create a PDF from HTML with Puppeteer and Handlebars
- Create Your Own Custom Error
- Extend Multiple Classes (Multi Inheritance)
- Get a File’s Created Date
- Get a File’s Last Modified/Updated Date
- Human-Readable JSON.stringify() With Spaces and Line Breaks
- Write a JSON Object to a File
- How to Create an Empty File
- Run Async Functions/Promises in Sequence
- Run Async Functions/Promises in Parallel
- Run Async Functions in Batches
- How to Merge Objects
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
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
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!