找出字串中子字串的出現:故障排除和替代解決方案
執行提供的Java 程式碼來計算子字串的出現次數時在字串中,您可能會遇到演算法不停止的問題。此問題源自於 lastIndex 不斷遞增,而沒有進行檢查以確保其不超出字串 str 的邊界。
要解決此問題,請修改程式碼以包含條件檢查,以驗證lastIndex 是否為仍在str:
String str = "helloslkhellodjladfjhello"; String findStr = "hello"; int lastIndex = 0; int count = 0; while (lastIndex != -1 && lastIndex < str.length()) { lastIndex = str.indexOf(findStr, lastIndex); if (lastIndex != -1) count++; lastIndex += findStr.length(); } System.out.println(count);
的範圍內或者,您可以使用Apache Commons Lang 中的StringUtils.countMatches方法庫:
String str = "helloslkhellodjladfjhello"; String findStr = "hello"; System.out.println(StringUtils.countMatches(str, findStr));
此方法簡化了計算子字串出現次數的過程,並確保了高效可靠的解決方案。
以上是Java中如何高效統計子字串出現次數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!