var x = new Array('1','2','3');
var y = new Array('a','b','c');
var iLen = x.length;
var s = 'abcdefgabcdefg';
for (var i=0;i<iLen;i++) {
var re = new RegExp(x[i],'g');
s = s.replace(y[i], re);
}
alert(s);
我希望结果为 123defg123defg 。 相反,我得到 / 1 / g / 2 / g / 3 / gdefgabcdefg 。
答案 0 :(得分:3)
你做错了,因为你想在全局范围内将y
的出现替换为x
,你应该说
for (var i=0;i<iLen;i++) {
var re = new RegExp(y[i],'g'); //this is regexp for global y[i]
s = s.replace(re, x[i]); //replace all occurrences of y[i] with x[i]
}