全局替换使用变量

Global replace using variable

在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" 的各种迭代都无济于事。

在使用变量时是否必须使用 new regExp() 形式的 regxEx,还是我漏掉了一个技巧? Reginald X. Pression 你在哪里??我需要你的帮助!

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