我有以下内容
astring.replace(/(someregex/g, "replacementstring.$1")
我想将它存储为某种对象,以便将来调用它。显而易见的解决方案是将其存储为两个变量 someregex
和 replacementstring
并在将来将其称为 astring.replace(someregex, replacementstring + '.$1')
但这对我来说真的很笨拙。
有没有更简洁的方式存储字符串替换?我目前的想法是将 .replace(/someregex/g, "replacementstring.$1")
存储为一个名为 stringreplacement
的字符串并使用 eval('astring' +字符串替换)
。但这似乎很愚蠢。
最佳答案
您可以使用柯里化(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'));
关于javascript - 如何将字符串替换存储为 Javascript 中的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51488194/