帖子:什麼函數可以讓一個計算一個字符串內出現了幾次另一個字符
帖子的題目寫的已經很明白了,也就是統計一個字符串內指定字符的出現次數。例如cainiao中,a出現現了兩次。那麼應該有一個函數能夠正確地統計出類似的值。久仰正則表達式的大名(其實學過好幾次都忘了),記得正好可以解決這個問題。
看看cloudchen給出的使用正則表達式的代碼:
var str = "cloudchen";
var find = "c";
var reg = new RegExp(find,"g")
var c = str.match(reg);
alert(c?c.length:0)
var reg = new RegExp(find,"g")一句建立了一個正則表達式,也可以寫為:
var reg = /c/g;
c即要匹配的字符,其中g表示全局搜索。match則返回匹配的字符(串)。這樣也就獲得了字符串中指定字符出現的次數。這是一個很正規的做法。
split用來統計字符的出現次數
只能用太有才了來形容「我佛山人」,他給出了如下的代碼:
MsgBox UBound(Split("blueideablueideabbs","b"))
VBS的,但是用JS也一樣。重要的是這個思路,簡直是太簡單了!用字符串的split方法將其分為數組,數組的length-1就是字符的出現次數。代碼修改為JavaScript如下:
function test(){
var str = "www.cainiao8.com";
alert(str.split("c").length-1);
alert(str.split("w").length-1);
}
效果如下,首先顯示的是「c」字符的次數,然後是「w」字符的出現次數。