我想String.replaceAll()在JavaScript中创建一个方法,并且我认为使用正则表达式是最简洁的方法。但是,我不知道如何将变量传递给正则表达式。我能做到这一点已经将取代所有的实例"B"有"A"。
String.replaceAll()
"B"
"A"
"ABABAB".replace(/B/g, "A");
但是我想做这样的事情:
String.prototype.replaceAll = function(replaceThis, withThis) { this.replace(/replaceThis/g, withThis); };
但是显然这只会替换文本"replaceThis"…所以如何将这个变量传递给我的正则表达式字符串?
"replaceThis"
代替使用/regex/g语法,可以构造一个新的RegExp对象:
/regex/g
var replace = "regex"; var re = new RegExp(replace,"g");
您可以通过这种方式动态创建正则表达式对象。然后,您将执行以下操作:
"mystring".replace(re, "newstring");