Java计算字符串中某个字符出现的次数⽅式⼀:使⽤ replace 的⽅式计算字符串出现次数
@Test
public void show() {
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
}
⽅式⼆:使⽤ while 循环加 indexOf
@Test
public void show2() {
String s1 = "absdifhabiosdfiabsoidfabsdf";
String s2 = "ab";
int count = getStrCunt(s1, s2);
System.out.println(count);
}
private 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++;indexof空格算不算
// 从到的位置下标加上要查的字符串长度,让指针往后移动继续查
index += subStrLength;
}
return count;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。