検索文字列の文字列数

1069 ワード

/*
 *              
 * 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;
	}

}