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。