0
var my_string = "some text goes here!!!";

为什么my_string.replace('!', '*', my_string);它只给

some text goes here!!*

而不是some text goes here***

任何的想法?

4

3 回答 3

5

默认情况下 replace() 仅替换第一次出现。要替换所有匹配项,请传入全局标志,如下所示:

var my_string = str.replace(/!/g,"*");
于 2013-03-29T15:28:30.213 回答
1

您可以使用 g.. 执行全局替换

g 修饰符用于执行全局匹配(查找所有匹配而不是在第一个匹配后停止)。

var replaced_string=  my_string.replace(/!/g, '*');
于 2013-03-29T15:28:51.517 回答
1

您需要使用全局标志g。这应该适合您的需求:

.replace(/!/g, '*');
于 2013-03-29T15:30:17.650 回答