Java 统计子字符串在父字符串中的出现次数
本示例演示如何在 Java 中统计子串在父字符串中的出现次数。例如父字符串为 abeefddfadeeabfkkeeabeeabeerfab,子串为 ab,则出现次数为 5。
核心思路是遍历父字符串,每次截取与子串等长的片段进行比较。若匹配成功,计数器加一并跳过子串长度;否则仅移动一位。
/**
* 获取字符串 strSub 在父字符串 strFather 中出现的次数
*/
public class StringSubStrExistInFatherStr {
public static void main(String[] args) {
String str = "abeefddfadeeabfkkeeabeeabeerfab";
String str1 = "ab";
String str2 = "ee";
String str3 = "f";
System.out.println(getNumSubInFatherStr(str, str1));
System.out.println(getNumSubInFatherStr(str, str2));
System.out.println(getNumSubInFatherStr(str, str3));
}
public static int getNumSubInFatherStr(String strFather, String strSub) {
int num = 0;
int i = 0;
// 遍历边界控制:当剩余长度不足时停止,避免 substring 越界
while (i <= strFather.length() - strSub.length()) {
String strTemp strFather.substring(i, i + strSub.length());
(strSub.equals(strTemp)) {
num += ;
i += strSub.length();
} {
i += ;
}
}
num;
}
}

