文字列の出現回数を取得

文字列の出現回数を取得するには、次のような方法で可能です。

関数定義

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

JavaScript逆引きリファレンス一覧へ戻る