Как сделать, чтобы lodash _.replace все вхождения в строку?
Как заменить каждое вхождение строкового шаблона в строке другой строкой?
var text = "azertyazerty";
_.replace(text,"az","qu")
возврат quertyazerty
Ответ 1
вам нужно использовать RegExp с глобальным вариантом, предлагаемым lodash.
поэтому просто используйте
var text = "azertyazerty";
_.replace(text,new RegExp("az","g"),"qu")
чтобы вернуть quertyquerty
Ответ 2
Вы также можете сделать
var text = "azertyazerty";
var result = _.replace(text, /az/g, "qu");
Ответ 3
Мне нравится lodash, но это, вероятно, одна из немногих вещей, которая проще без него.
var str = str.split(searchStr).join(replaceStr)
Как функция полезности с некоторой проверкой ошибок:
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
}
Для полноты, если вы действительно действительно хотите использовать lodash, то, чтобы фактически заменить текст, присвойте результат переменной.
var text = 'find me find me find me'
text = _.replace(text,new RegExp('find','g'),'replace')