如何将字符串替换存储为Javascript中的对象?

时间:2018-07-23 22:52:16

标签: javascript string replace

我有以下

astring.replace(/(someregex/g, "replacementstring.$1")

我想将其存储为某种对象,以便将来使用。显而易见的解决方案是将其存储为两个变量someregexreplacementstring,并在以后将其称为astring.replace(someregex, replacementstring + '.$1'),但这对我来说确实很笨拙。

总有没有以更简洁的方式存储字符串替换?我当前的想法是将.replace(/someregex/g, "replacementstring.$1")存储为名为stringreplacement的字符串,并使用eval('astring' + stringreplacement)。但这似乎很愚蠢。

1 个答案:

答案 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'));