文字列の出現回数を取得
文字列の出現回数を取得するには、次のような方法で可能です。
関数定義
JavaScript (ES5以前)
/**
* 文字列の出現回数を取得
* @param {string|number} 検索元の文字列
* @param {string|number} 検索する文字列
* @return {number} 出現回数を返す
*/
var strCount = function(searchStr, str) {
if (typeof searchStr !== 'string' && typeof searchStr !== 'number') return 0;
if (typeof str !== 'string' && typeof str !== 'number') return 0;
if (searchStr === '' || str === '') return 0;
return (String(str).match(new RegExp(String(searchStr), 'g')) || []).length;
};
JavaScript (ES6以降)
/**
* 文字列の出現回数を取得
* @param {string|number} 検索元の文字列
* @param {string|number} 検索する文字列
* @returns {number} 出現回数を返す
*/
const strCount = (searchStr, str) => searchStr !== '' ? (String(str).match(new RegExp(String(searchStr), 'g')) || []).length : 0;
使い方
JavaScript (ES5以前)
var result = function( searchStr, str );
JavaScript (ES6以降)
const result = function( searchStr, str );
引数
| 引数名 | 型 | 説明 | |
|---|---|---|---|
| 第一引数 必須 |
searchStr | string|number | 検索元の文字列 |
| 第二引数 必須 |
str | string|number | 検索する文字列 |
戻り値
出現した回数を返します。
JavaScript (ES5以前)
var foo = 'abcabc123a';
alert(strCount('a', foo)); // 3
alert(strCount('z', foo)); // 0
alert(strCount(1, foo)); // 1
alert(strCount('', foo)); // 0
JavaScript (ES6以降)
var foo = 'abcabc123a';
console.log(strCount('a', foo)); // 3
console.log(strCount('z', foo)); // 0
console.log(strCount(1, foo)); // 1
console.log(strCount('', foo)); // 0