var str = "男的女的老的少的"; alert(str.replace('的',''));
可以看到替換后的str的值為"男女的老的少的",replace(str1,str2)方法替換的只是第一個匹配的字符串,那么如何實現替換全部匹配的字符串呢?
在java語言中有給出的replaceAll方法能夠實現這樣的功能,但很遺憾javascript沒有提供這樣的方法,但replace方法要比我們想象的強大,實際上通過它我們可以實現我們的需求的。
給出replace的語法定義
stringObj.replace(rgExp, replaceText)
其中stringObj是字符串(string),reExp可以是正則表達式對象(RegExp)也可以是字符串(string),replaceText是替代查找到的字符串。
第一個例子是參數rgExp 為字符串的情況,下面我們用正則表達式實現全部替換的功能
var str = "男的女的老的少的"; alert(str.replace(new RegExp(/(的)/g),''));
以上實現了字符串的全部替換,但這種正則表達式是有局限的,匹配的是一些特定的字符串,如何匹配動態的字符串呢?
var replaceStr = "的"; alert(str.replace(new RegExp(replaceStr,'gm'),''));
這樣我們就完成了匹配字符串的動態賦值。
另外還有其他的方法實現全部替換
alert(str.split(replaceStr).join(''));