首页 > 代码库 > 统计某字符串在另一个字符串中出现的次数

统计某字符串在另一个字符串中出现的次数

 1 /** 2  * 统计某字符串在另一个字符串中出现的次数 3  * 4  * 5  */ 6 public class CountHit { 7     public static void main(String[] args) { 8         String a = "123456abcdde6abcbcb"; 9         String b = "6abc";10         System.out.println(new CountHit().hit(a, b));11     }12  13     /**14      *15      * @param a16      *            被匹配的长字符串17      * @param b18      *            匹配的短字符串19      * @return 匹配次数20      */21     public int hit(String a, String b) {22         if (a.length() < b.length()) {23             return 0;24         }25         char[] a_t = a.toCharArray();26         char[] b_t = b.toCharArray();27         int count = 0, temp = 0, j = 0;28  29         for (int i = 0; i < a_t.length; i++) {30             // 保证一个连续的字符串 b 跟 a中某段相匹配31             if (a_t[i] == b_t[j] && j < b_t.length) {32                 temp++;33                 j++;34                 // 此时连续的字符串 b 跟 已跟 a 中某段相匹配35                 if (temp == b_t.length) {36                     count++;37                     temp = 0;38                     j = 0;39                 }40             }41             // 只要有一个字符不匹配,temp计数从来42             else {43                 temp = 0;44                 j = 0;45             }46         }47  48         return count;49     }50 }

 

统计某字符串在另一个字符串中出现的次数