第一次发现javascript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符.
replace()
The replace() method returns the string that results when you replace text matching its first argument
(a regular expression) with the text of the second argument (a string).
If the g (global) flag is not set in the regular expression declaration, this method replaces only the first
occurrence of the pattern. For example,
var s = " Hello. Regexps are fun. " ;s = s.replace( / /. / , " ! " ); // replace first period with an exclamation pointalert(s);
produces the string “Hello ! Regexps are fun.” Including the g flag will cause the interpreter to
perform a global replace, finding and replacing every matching substring. For example,
var s = " Hello. Regexps are fun. " ;s = s.replace( / /. / g, " ! " ); // replace all periods with exclamation pointsalert(s);
yields this result: “Hello ! Regexps are fun ! ”
The replace() method returns the string that results when you replace text matching its first argument
(a regular expression) with the text of the second argument (a string).
If the g (global) flag is not set in the regular expression declaration, this method replaces only the first
occurrence of the pattern. For example,
var s = " Hello. Regexps are fun. " ;s = s.replace( / /. / , " ! " ); // replace first period with an exclamation pointalert(s);
produces the string “Hello ! Regexps are fun.” Including the g flag will cause the interpreter to
perform a global replace, finding and replacing every matching substring. For example,
var s = " Hello. Regexps are fun. " ;s = s.replace( / /. / g, " ! " ); // replace all periods with exclamation pointsalert(s);
yields this result: “Hello ! Regexps are fun ! ”
我刚刚用它作了如下操作
把 |aaa|bbb|切换成,aaa,bbb,
replace(//|/g, ",") 参数里边的/是用来转义的,/| 是能代表"|"么?