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.
本文介绍了JavaScript中replace方法的使用技巧,特别是如何通过正则表达式的全局标志符来实现字符串中的所有匹配项替换,而非仅仅替换首次出现的匹配项。文中通过实例展示了不同参数配置下replace方法的行为差异。
7690

被折叠的 条评论
为什么被折叠?



