Currently, there are two ‘workarounds’ to replace all string occurrences in JavaScript, and the ‘new’ replaceAll method.
Example:
const newString = ‘foo bat bat’.split(‘bat’).join(‘bar’);
The first part: foo bat bat’.split(‘bat’)
returns
Then, when we apply .join(‘bar’)
we get a new string:
The method replace() receives two parameters, a search value to look for and a replacement value.
/search value/g
RegExp(‘search value’, ‘g’)
Example:
const newString = ‘foo bat bat’.replace(/bat/g, ‘bar’);
const newString ='foo bat bat'.replace(RegExp('bat', 'g'), ‘bar');
Right now, it is at stage 4 of the TC39 process.
The committee that governs how ECMAScript features are designed.
There are five stages (0 to 4) to make changes in the language: Straw, Proposal, Draft, Candidate, and Finished.
String.prototype.replaceAll()
Example:
const newString = ‘foo bat bat’.replaceAll(‘bat’, ‘bar’);
Looking for regex in *.js files (a subset from the NPM library)
Total number of replacements found: 386
Field | Total | Field | Total |
---|---|---|---|
Backreferences in the search value | 0, = 0% | split() and join() methods | 59, ~ 15.28% |
Backreferences in the replacement value | 47, ~ 12.18% | replace() method and g flag | 327, ~ 84.72% |
Others | ~ 87.82% | replaceAll(): | 0, = 0% |
In markdown:
Pdf files: