第一次發現JavaScript中replace() 方法如果直接用str.replace("-","!") 只會替換第一個匹配的字元.
而str.replace(/-/g ,"!")則可以全部替換掉符合的字元(g為全域標誌)。
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 stronding). 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 toperform 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!”
所以可以用以下幾種方式.:
string.replace(/reallyDo/g, replaceWith);string.replace(new RegExp(reallyDo , 'g'), replaceWith);
string:字串表達式包含要替代的子字串。
reallyDo:被搜尋的子字串。
replaceWith:用於替換的子字串。