JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符.
而str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志)。
replace() 区别:
var s = "Hello. Regexps are fun." ;s = s.replace(/\./, "!" ); 结果:s="Hello.!Regexps are fun." 只有第一处的","被替换为"!"
var s = "Hello. Regexps are fun." ;s = s.replace(/\./g, "!" ); 结果:s="Hello! Regexps are fun!" 两处的"."都被替换为"!"
所以可以用以下几种方式.:
string.replace(/reallyDo/g, replaceWith);
string.replace(new RegExp(reallyDo, 'g'), replaceWith);
string:字符串表达式包含要替代的子字符串。
reallyDo:被搜索的子字符串。
replaceWith:用于替换的子字符串。
eg: var s = "Hello. Regexps are fun." ;
alert( s.replace(/R/g, "QQQQ" ));
结果:Hello. QQQQegexps are fun.