java - 如何在不使用正则表达式的情况下检查子字符串是否重复?

标签 java substring repeat

我想检查一个字符串是否包含重复的子字符串。

例如,如何在不使用 Java 中的正则表达式库的情况下检查 (bc)*

最佳答案

您可以简单地使用这个递归算法:

public static boolean repeatedString(String str, String repeat, int lastIndex) {
    int next = str.indexOf(repeat, lastIndex+repeat.length());

    if(next == -1) return false;
    else if(next-lastIndex == repeat.length()) return true;
    else return repeatedString(str, repeat, next);
}

调用repeatedString(str, "bc", -1),本质上是检查repeat的任意两次出现是否连续。

关于java - 如何在不使用正则表达式的情况下检查子字符串是否重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35966754/

相关文章:

java - Ant 和 Junit 所有测试均失败

java - 在 AWS 中找不到 Servlet

java - Web 服务与 JAR - 一种方法比另一种更好吗?

python - 从文本文件的一行中分割两个范围

javascript - 嵌套在ng-repeat中的拼接数组,

data-binding - Xpages 重复绑定(bind)数据

java - 企业应用程序的正确 Java 项目结构

python - 如何从 Python 中的字符串开头删除特殊字符

javascript - .substring 错误 : "is not a function"

javascript - Adobe LiveCycle 使用重复子表单