本文介绍利用JavaScript正则表达式全局匹配功能统计字符串中字符出现频率的方法。通过遍历字符串并动态创建正则,比较各字符匹配长度,最终返回出现次数最多的字符及其频次。
统计字符串中出现次数最多的字符
利用正则表达式的全局匹配特性,可以统计出指定字符在字符串中出现的次数。通过比较这些统计结果,保存最大值并返回即可。具体实现代码如下:
代码实现如下:
var countMost = function(str){
if(!str) return;
var _count = 0, _temp = 0, _reg, _char;
for(var i=0; i<str.length; i++){
_reg = new RegExp(str.charAt(i), 'g');
_temp = str.match(_reg).length;
if(_temp > _count){
_count = _temp;
_char = str.charAt(i);
}
}
return _count;
//return {count:_count, char:_char};
}; 上述注释掉的代码片段允许同时返回出现次数最多的字符及其对应的次数。