計算字串中子字串的出現次數
當嘗試確定字串中子字串的出現次數時,搜尋時會出現一個常見問題演算法無法終止。要修正此問題,必須解決以下問題:
理解問題
考慮提供的範例,其中目標是計算「hello」在字串「helloslkhellodjladfjhello」。該演算法使用indexOf 方法迭代搜尋子字串。然而,它會根據子字串的長度逐步調整lastIndex,從而導致無限循環。
可靠的解決方案
要克服這個問題,可以使用 countMatches來自 Apache Commons Lang 的方法。此預定義函數可以準確計算子字串的出現次數,如下面的程式碼所示:
String str = "helloslkhellodjladfjhello"; String findStr = "hello"; System.out.println(StringUtils.countMatches(str, findStr));
這將產生預期的計數 3。
以上是如何可靠地計算字串中子字串的出現次數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!