在前端的处理逻辑中,有时候需要利用js来计算一个字段串中指定字段出现的次数,那么该如何做呢?

js 利用 split() 方法来计算字符串中指定字段串出现的次数

split() 方法,可以通过指定的字符或字符串将字符串转换成数组,再通过数组的长度来计算指定字符串的个数。

示例1:

查找指字的字符在字符串中出现的次数!

var str = 'abcdbcdbefbef'
var arr = str.split('d');  //通过 d 字符来将字符串转换成数组
console.log(arr.length - 1);

示例2:

查找指字的字符串在字符串中出现的次数!

var str = 'ABCDEABCEDABCEDEFABCEE'
console.log(str.split('AB').length - 1);
// 4

js 通过 replace 方法或正则来查找指定字符在字符串中出现的次数!

示例1:

var str = 'ABCDEABCEDABCEDEFABCEE'
var count = 0;
while (str.indexOf('AB') != -1) {
    str = str.replace('AB', "")
    count++;
}
console.log(count);

注意:通过此方法处理后的字符串与原有的字符串不相同!

示例2:

上面的方法,为了不改变处理后字符串内容可以使用自定义函数的方式来实现!

var str = 'ABCDEABCEDABCEDEFABCEE'
//自定义函数
function getStrCount(scrstr, armstr) { //scrstr 源字符串 armstr 特殊字符
    var count = 0;
    while (scrstr.indexOf(armstr) != -1) {
        scrstr = scrstr.replace(armstr, "")
        count++;
    }
    return count;
}
console.log(getStrCount(str,'AB'));
console.log(str);

示例3:

通过js正规的方法来实现查找字符串个数的方法!

var str = 'ABCDEABCEDEFABDECSABEDA';
//自定义函数
function getStrCount(aStr, aChar) {
    var regex = new RegExp(aChar, 'g'); // 使用g表示整个字符串都要匹配 飞鸟慕鱼博客
    var result = aStr.match(regex);
    var count = !result ? 0 : result.length;
    return count;
}
console.log(getStrCount(str,'AB'));