Java,求一个字符串中指定字符出现的次数

如题,这里介绍两种方式

 

1、把字符串转化成字符数组,然后通过for循环比对出结果

public static void main(String[] args) {
        String str = "abcdefgaabba";
        char searchstr = 'b';
        int count = 0;
        char[] charArray = str.toCharArray();
        for (char param : charArray) {
            if (param == searchstr) {
                count++;
            }
        }
        System.out.println("字符" + searchstr + "出现的次数为:" + count);
}

这种方式虽然明面上看着有for循环,实际执行速度却很快,也很好理解。

 

2、用string的split方法解决

public static void main(String[] args) {
        String str = "abcdefgaabba";
        String searchstr = "b";
        int count = str.split(searchstr ).length -1;
        System.out.println("字符" + searchstr + "出现的次数为:" + count);
        
}

为什么需要减1呢?因为split是把字符串按照分隔符分成几块,上面这个代码里面,b出现了三次,字符串被分成了四块,b和b中间的""也算,所以需要减1。

posted on 2022-05-26 17:58  酸辣小甜饼  阅读(2703)  评论(0编辑  收藏  举报