java String類-獲取一個字串在另一個字串中出現的次數
阿新 • • 發佈:2019-02-15
<pre name="code" class="html">//另一種方法 class StringTest3_1 { public static void main(String[] args) { String str="hgdfjdssgjdhgfusdkkhdsgfkkshfkkbjsdhh"; String substr="kk"; sop(stringsub(str,substr)); System.out.println("Hello World!"); } public static int stringsub(String str,String substr) { int index=0; int count=0; int fromindex=0; while((index=str.indexOf(substr,fromindex))!=-1) { //str=str.substring(index+substr.length()); fromindex=index+substr.length(); count++; } return count; } public static void sop(Object obj) { System.out.println(obj); } }
/*獲取一個字串str1在另一個字串str2中出現在的次數。思路:獲取str1的長度。然後從str2的開頭字元開始比較。例如:str1="abc"; str2="agthabclllabcjukabcjhk";str1的長度為3,則先取str2中的子字串agt,發現不相同,則以第二個字元作為開頭,取3個字元,則為gth,發現仍不相等,依次查詢下去。 */
class StringTest3 { public static void main(String[] args) { System.out.println("Hello World!"); sop(String_count("abcdcdefdcghfcddccdf","dc")); } public static int String_count(String str,String substr) { int count=0; int str_len=str.length(); int substr_len=substr.length(); if(!str.contains(substr)) return count; for (int i=0;i<str_len-substr_len ;i++ ) { if (substr.equals(str.substring(i,i+substr_len))) { count++; } } return count; } public static void sop(Object obj) { System.out.println(obj); } }