/*
* 一个字串在整串中出现的次数
* nbaernbatynbauinbaopnba
* 思路:
* 1、要找的字串是否存在如果存在获取其出现的位置,这个可以使用indexOf完成
* 2、如果找到了,那么就记录出现的位置并在剩余的字符串中继续查找该字串,
* 而剩余字符串的起始位置是出现位置+字串长度
* 3、以此类推,通过循环完成查找,如果找不到就是-1 并对每次找到用计数器记录。
*/
public class StringTest2 {
public static int getKeyStringCount(String str, String key) {
//1、定义计数器
int count=0;
//2、 定义变量记录key出现的位置
int index=0;
while((index=str.indexOf(key))!=-1) {
str=str.substring(index+key.length());
count++;
}
return count;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="nbaasdnbanbasdasdasdnba";
String key="nba";
int count=getKeyStringCount_2(str,key);
System.out.println("count:"+count);
}
private static int getKeyStringCount_2(String str, String key) {//推荐这种
// TODO Auto-generated method stub
int count=0;
int index=0;
while((index=str.indexOf(key,index))!=-1) {//不在内存中过多产生字符串常量
index=index+key.length();//先在字符串找key 找到后 去掉前面包含key的部分 再在字串中找
count++;
}
return count;
}
}
查找字符串 中字串个数
最新推荐文章于 2023-05-30 21:35:10 发布