js里判断一个串里某个字符的个数怎么判断

JavaScript013

js里判断一个串里某个字符的个数怎么判断,第1张

可以利用正则表达式进程获取:

var str = "abbbbbsdsdsdasdlsfj"

var c = "b"// 要计算的字符

var regex = new RegExp(c, 'g')// 使用g表示整个字符串都要匹配

var result = str.match(regex)

var count = !result ? 0 : result.length

console.log(c + " 的数量为 " + count)

// 数字个数

var numCnt = str.replace(/\D/g, '').length

// 大小写字母个数

var alphaNum = str.replace(/[^a-zA-Z]/g, '').length

// 空格个数

var spaceCnt = str.replace(/\S/g, '').length

有点复杂。1.先取出要比较的字符。2.然后再用这些字符和字符串对比。

var str = "abcdeajhdddbbbcccee"

var obj = {}//存放要比较的字符(用键值对存储,如:{a:a,b:b})

//获取要比较的字符

for (var i = 0, len = str.length i < len i++) {

    var s = str[i]

    if (s == '') continue

    if (obj[s]) continue//判断字符是否已经存在obj中

    else obj[s] = s

}

var index = 0//字符出现最多个数

var x = ''//出现最多个数的字符

for (var item in obj) {

    var arr = str.split(item)//用字符分割字符串

    var num = arr.length - 1//字符出现的次数

    if (num > index) {//和上一次结果比较

        index = num

        x = item

    }

}

如果有更好的方法请贴出来,大家一起学习。