QUESTION
I'd like to create a String.replaceAll() method in JavaScript and I'm thinking that using a RegEx would be most terse way to do it. However, I can't figure out how to pass a variable in to a RegEx. I can do this already which will replace all the instances of "B" with "A".
"ABABAB".replace(/B/g, "A");
But I want to do something like this:
String.prototype.replaceAll = function(replaceThis, withThis) {
this.replace(/replaceThis/g, withThis);
};
But obviously this will only replace the text "replaceThis"...so how do I pass this variable in to my RegEx string?
ANSWER
Instead of using the /regex/g syntax, you can construct a new RegExp object:
var re = new RegExp("regex","g");
You can dynamically create regex objects this way. Then you will do:
"mystring".replace(re, "newstring");
Tweet