package StringTest;

/* Java计算字符串中某个字符出现的次数*/
public class String8 {
    public static void main(String[] args) {
        String s1 = "absfsdfabsdfosfabsfspfoj";
        String s2 = "ab";
        // 获取原始字符串的长度
        int oldCount = s1.length();
       // 将 ab 替换为空之后字符串的长度
        int newCount = s1.replace(s2, "").length();
        // 由于统计的字符串长度是2,所以出现的次数要除以要统计字符串的长度
        System.out.println((oldCount - newCount) / s2.length());  //=>3

    }
}

java统计字符串中每个字符出现的次数 java 统计字符串出现次数_字符串

package StringTest;
/* Java计算字符串中某个字符出现的次数*/
public class String7 {
    public static void main(String[] args) {
        String s1 = "absdifhabiosdfiabsoidfabsdf";
        String s2 = "ab";
        int count = getStrCunt(s1, s2);
        System.out.println(count);
    }

    private static int getStrCunt(String mainStr, String subStr) {
// 声明一个要返回的变量
        int count = 0;
// 声明一个初始的下标,从初始位置开始查找
        int index = 0;
// 获取主数据的长度
        int mainStrLength = mainStr.length();
// 获取要查找的数据长度
        int subStrLength = subStr.length();
// 如果要查找的数据长度大于主数据的长度则返回0
        if (subStrLength > mainStrLength) {
            return 0;
        }
// 循环使用indexOf查找出现的下标,如果出现一次则count++
        while ((index = mainStr.indexOf(subStr, index)) != -1) {
            count++;
// 从找到的位置下标加上要查找的字符串长度,让指针往后移动继续查找
            index += subStrLength;
        }
        return count;
    }
}

java统计字符串中每个字符出现的次数 java 统计字符串出现次数_Java_02