方法一:indexof(“str”,i)
在调用的字符串中,从i开始查询,str出现的索引位置,没有返回-1.有返回索引位置
String string = "hanbasdnbafllgnbahjnbakqqqqlnbaxi";
String str = "nba";
int count = 0;
int i = 0;
while (true){
//从下标0开始检查
if (i == 0){
i = string.indexOf(str,i);
count++;
}else{
i = string.indexOf(str, i + str.length());
count++;
}
if (i == -1){
System.out.println("结束");
count--;
break;
}
}
System.out.println(count);
方法二:split 分割
String[] nbas = string.split("nba");
System.out.println(Arrays.toString(nbas));
方法三:将nba替换成空格,计算前后差了多少
string = "hanbasdnbafllgnbahjnbakqqqqlnbaxi";
String string1 = string.replace("nba","");
System.out.println((string.length() - string1.length()) / 3);
得到两个字符串相差的个数后初一查询的字符串的长度