public class Text2String {
public Text2String() {
// TODO Auto-generated constructor stub
}
/*
* 2:一个字串在整串中出现的次数
* 思路:
* 1) 要找的字串是否存在,如果存在获取其出现的位置,这个可以用index of 来完成
* 2) 如果找到了,那么就记录出现的位置,剩余的字符串中继续查找该字串,而剩余的
* 字符串的起始位置是出现位置+字符串长度
* 3) 一次类推,通过循环来完成查找,如果找不到就是 -1,并对每次找到的用计数器记录
* "nbaernbarynbauinbaopaba"
* **/
public static void main(String[] args) {
//方法一
String str = "nbaernbarynbauinbaopabnba";
String key = "nba";
System.out.println(getKeyCount( key,str));
//
方法二 用 sbustring (int beginindex,int endindex )
String str1 = "nbaernbarynbauinbaopabnba";
String key1 = "nba";
System.out.println(getKeyCount1( key1,str1));
}
private static int getKeyCount(String key, String str) {
int count = 0;
while( str.indexOf(key) != -1)
{
str = str.substring(str.indexOf(key) + key.length());
count ++;
}
return count;
// TODO Auto-generated method stub
}
//*************************************************************************************
private static int getKeyCount1(String key1, String str1) {
int count1 = 0;
int index = 0;
while ((index = str1.indexOf(key1, index)) != -1) {
//indexof(String ,int )
/*从指定的位置开始查找,
*/
index += key1.length();//记录住每次查找后的index
count1++;
}
// TODO Auto-generated method stub
return count1;
}
}