JavaScript Remplacement d'une chaîne avec une fonction de rappel


Exemple

String#replace peut avoir une fonction en second argument afin que vous puissiez fournir un remplacement basé sur une logique.

"Some string Some".replace(/Some/g, (match, startIndex, wholeString) => {
  if(startIndex == 0){
    return 'Start';
  } else {
    return 'End';
  }
});
// will return Start string End

Bibliothèque de modèles à une ligne

let data = {name: 'John', surname: 'Doe'}
"My name is {surname}, {name} {surname}".replace(/(?:{(.+?)})/g, x => data[x.slice(1,-1)]);

// "My name is Doe, John Doe"