前に書いた記事の補足です。 これを応用すると様々なことができます。
String.prototype.count=function(c) {for(var a = 0,count = 0, d = this.length; a < d; a++) this.charAt(a) == c && count++;return count}
これで "めちゃ".mult(2)+"イケてるっ!"とするとめちゃめちゃイケてるっ!が返ってきます。 "あいうえおああああああ".count("あ")とすると6が返ってきます。
とても応用がきくので一度やってみてください。 追記:特定の文字列のカウントは以下の通りです
String.prototype.mult=function (c) { for (var a = ""; 0 < c;) a += this, c--; return a } String.prototype.count=function (c) { for (var a = 0,cnt = 0, d = this.length; a < d; a++){ this.charAt(a) == c && cnt++; } return cnt } String.prototype.countStr=function (a) { for (var cnt = 0,i = 0; - 1 != this.indexOf(a, i);){ i = this.indexOf(a, i) + 1, cnt++; } return cnt }
使い方は文字列.countStrです さらに圧縮した版
var d=String.prototype;d.mult=function(b){for(var a="";0<b;)a+=this,b--;return a};d.count=function(b){for(var a=0,c=0,e=this.length;a<e;a++)this.charAt(a)==b&&c++;return c};d.countStr=function(b){for(var a=0,c=0;-1!=this.indexOf(b,c);)c=this.indexOf(b,c)+1,a++;return a};