Java计算String字符串中某个字符出现的次数

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

    }
}

在这里插入图片描述

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;
    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值