string-multiple-replace

Replace multiple substrings in a string in turn

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
string-multiple-replace
321.0.5a year ago4 years agoMinified + gzip package size for string-multiple-replace in KB

Readme

string-multiple-replace
Replace multiple substrings in a string in turn.

LICENSE npm-version npm
Replace all substring matches in a string with an mapping object that is table of replaceThis: withThis, and you can provide a sequencer to decide the order of replacement.

Install

npm install --save string-multiple-replace

or
yarn add string-multiple-replace

Usage

const multiReplace = require('string-multiple-replace');

const input = "abcde";
const matcherObj = {
    "a": "b",
    "b": "c",
    "c": "d",
    "d": "e"
}
multiReplace(input, matcherObj, ["a", "b", "c", "d"]); // eeeee
multiReplace(input, matcherObj);                       // bcdee

  • Example-1

const multiReplace = require('string-multiple-replace');

const input = "I'm only brave when I have to be. Being brave doesn't mean you go looking for trouble.";
const matcherObj = {
    "brave": "cowardly",
    "trouble": "escape"
}
const sequencer = ["brave", "trouble"];
multiReplace(input, matcherObj, sequencer);
//I'm only cowardly when I have to be. Being cowardly doesn't mean you go looking for escape.

  • Example-2

const multiReplace = require('string-multiple-replace');

const input = "I'm only brave when I have to be. Being brave doesn't mean you go looking for trouble.";
const matcherObj = {
    "brave": "cowardly",
    "trouble": "escape"
}

multiReplace(input, matcherObj, keys => keys);
//I'm only cowardly when I have to be. Being cowardly doesn't mean you go looking for escape.

API

multiReplace(input, matcherObj,sequencer)

The original string is replaced in turn according to the matcherObj, where sequencer determines the replacement order, and the existence state of sequencer determines whether the last operation overwrites the previous operation.

input

Type: string
Required
A string to be processed.

matcherObj

Type: object
Required
An object that represents a string replacement mapping.

sequencer

Type: function, array
Required:false
A function that takes the keys of matcherObj, and return an suquence array.
>Upgrade Instruction: the existence state of sequencer determines whether the last operation overwrites the previous operation.