如何用另一个字符串替换字符串中每个匹配的子串?
var text = "azertyazerty";
_.replace(text,"az","qu")
返回quertyazerty
var text = "azertyazerty";
_.replace(text,"az","qu")
返回quertyazerty
你也可以这样做
var text = "azertyazerty";
var result = _.replace(text, /az/g, "qu");
你需要使用lodash提供的全局选项的RegExp。
因此只需使用
var text = "azertyazerty";
_.replace(text,new RegExp("az","g"),"qu")
返回quertyquerty
我喜欢 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')
使用原生JS就足够满足你的需求,无需借助lodash库。
const text = "azertyazerty"
text.replace(new RegExp("az", "g"), "qu")