全局替换使用变量

时间:2015-03-11 14:13:40

标签: javascript regex variables

在JavaScript中,我可以使用正则表达式替换tex:

var textSearch = "10";
var textReplace = "2";
var c = alayer.textItem.contents
 c = c.replace(new RegExp(textSearch, "g"),textReplace);
 alert(c);

“10”的文本字符串被替换为“2”。好哇!

但是,如果没有新的RegExp构造函数,我就无法进行全局替换。

  c = c.replace(textSearch, textReplace); //2 10 10 

我尝试了各种迭代的/ g和“g”无济于事。

使用变量时,是否必须以新的regExp()形式使用regxEx,或者我错过了一个技巧? Reginald X. Pression你在哪里?我需要你的帮助!

1 个答案:

答案 0 :(得分:1)

实际上,通常您必须使用RegExp来替换多个实例。然而,有一个非标准的第三个标志" replace()的参数,即使您使用普通字符串作为搜索表达式,也应实现全局替换:c = c.replace('needle', haystack, 'g');请参阅MDN reference。请注意,例如,不支持此额外参数。 Chrome,所以RegExp方法是最好的。

相关问题