Comment faire lodash _.replace toute occurrence dans une chaîne?
Comment remplacer chaque occurrence d'un modèle de chaîne dans une chaîne par une autre chaîne?
var text = "azertyazerty";
_.replace(text,"az","qu")
retourner quertyazerty
vous devez utiliser RegExp avec l'option globale offerte par lodash.
il suffit donc d'utiliser
var text = "azertyazerty";
_.replace(text,new RegExp("az","g"),"qu")
pour retourner quertyquerty
Vous pouvez aussi faire
var text = "azertyazerty";
var result = _.replace(text, /az/g, "qu");
J'adore le lodash, mais c'est probablement l'une des rares choses qui sont plus faciles sans lui.
var str = str.split(searchStr).join(replaceStr)
En tant que fonction utilitaire avec une vérification des erreurs:
var replaceAll = function (str, search, replacement) {
var newStr = ''
if (_.isString(str)) { // maybe add a lodash test? Will not handle numbers now.
newStr = str.split(search).join(replacement)
}
return newStr
}
Pour être complet, si vous voulez vraiment vraiment utiliser lodash, alors pour remplacer réellement le texte, affectez le résultat à la variable.
var text = 'find me find me find me'
text = _.replace(text,new RegExp('find','g'),'replace')
Références: Comment remplacer toutes les occurrences d'une chaîne en JavaScript?