獲取一個字符串在另一個字符串中出現的次數。 如獲取“ab”在 “abkkcadkabkebfkaabkskab” 中出現的次數——兩種方式

public class StringDemo1 {
    /*
    獲取一個字符串在另一個字符串中出現的次數。
      比如:獲取“ab”在 “abkkcadkabkebfkaabkskab” 中出現的次數

     */

    /**
     * 獲取subStr在mainStr中出現的次數
     * @param mainStr
     * @param subStr
     * @return
     */
    public int getCount(String mainStr,String subStr){
        int mainLength = mainStr.length();
        int subLength = subStr.length();
        int count = 0;
        int index = 0;
        if(mainLength >= subLength){
            //方式一:
//            while((index = mainStr.indexOf(subStr)) != -1){
//                count++;
//                mainStr = mainStr.substring(index + subStr.length());
//            }
            //方式二:對方式一的改進
            while((index = mainStr.indexOf(subStr,index)) != -1){
                count++;
                index += subLength;
            }

            return count;
        }else{
            return 0;
        }
    }

    @Test
    public void testGetCount(){
        String mainStr = "abkkcadkabkebfkaabkskab";
        String subStr = "ab";
        int count = getCount(mainStr, subStr);
        System.out.println(count);
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章