replace-string
August 9, 2021 ยท View on GitHub
Replace all substring matches in a string
Similar to String#replace(), but supports replacing multiple matches. You could achieve something similar by putting the string in a RegExp constructor with the global flag and passing it to String#replace(), but you would then have to first escape the string anyways.
With Node.js 16, this package is partly moot as there is now a String#replaceAll method. However, it does not have a caseInsensitive option.
Install
$ npm install replace-string
Usage
import replaceString from 'replace-string';
const string = 'My friend has a ๐. I want a ๐ too!';
replaceString(string, '๐', '๐ฆ');
//=> 'My friend has a ๐ฆ. I want a ๐ฆ too!'
API
replaceString(string, needle, replacement, options?)
Returns a new string with all needle matches replaced with replacement.
string
Type: string
The string to work on.
needle
Type: string
The string to match in input.
replacement
Type: string | Function
The replacement for needle matches.
If a function, it receives the matched substring, the match count, the original input, and the index in which the match happened (as measured from the original input):
import replaceString from 'replace-string';
replaceString('Foo ๐ Bar', '๐', (matchedSubstring, matchCount, input, matchIndex) => `${matchedSubstring}โค๏ธ`);
//=> 'Foo ๐โค๏ธ Bar'
options
Type: object
fromIndex
Type: number
Default: 0
Index at which to start replacing.
caseInsensitive
Type: boolean
Default: false
Whether or not substring matching should be case-insensitive.
Related
- execall - Find multiple
RegExpmatches in a string