计算字符串中子字符串的出现次数
当尝试确定字符串中子字符串的出现次数时,搜索时会出现一个常见问题算法无法终止。要纠正此问题,必须解决以下问题:
理解问题
考虑提供的示例,其中目标是计算“hello”在字符串“helloslkhellodjladfjhello”。该算法使用indexOf 方法迭代搜索子字符串。然而,它会根据子字符串的长度逐步调整lastIndex,从而导致无限循环。
可靠的解决方案
要克服这个问题,可以使用 countMatches来自 Apache Commons Lang 的方法。此预定义函数可以准确计算子字符串的出现次数,如下面的代码所示:
String str = "helloslkhellodjladfjhello"; String findStr = "hello"; System.out.println(StringUtils.countMatches(str, findStr));
这将产生预期的计数 3。
以上是如何可靠地计算字符串中子字符串的出现次数?的详细内容。更多信息请关注PHP中文网其他相关文章!