我有以下
astring.replace(/(someregex/g, "replacementstring.$1")
我想将其存储为某种对象,以便将来使用。显而易见的解决方案是将其存储为两个变量someregex
和replacementstring
,并在以后将其称为astring.replace(someregex, replacementstring + '.$1')
,但这对我来说确实很笨拙。
总有没有以更简洁的方式存储字符串替换?我当前的想法是将.replace(/someregex/g, "replacementstring.$1")
存储为名为stringreplacement
的字符串,并使用eval('astring' + stringreplacement)
。但这似乎很愚蠢。
答案 0 :(得分:3)
您可以使用currying定义一个已经预先定义了一些变量的函数。
例如:
function replace(find, replace) {
return function (string) {
return string.replace(find, replace);
}
}
const replacer = replace(/hello/gi, "G'day");
console.log(replacer('hello fubar'));