如何检查字符串是否在任何位置的给定字符串中按连续顺序包含三个字符



我正在与网站进行应用程序集成。基本上,我是一名PHP开发人员,但Android应用程序使用的是Java,我在这方面不是很专业。我需要提供一个通过应用程序本身更改密码的选项。

当用户以字符串形式输入新密码时,我希望应用程序确保新密码中不使用旧密码中长度为 3 的子字符串。此检查应不区分大小写。

例如。如果用户拥有旧密码"Angel173MN",他/她不能选择包含任何子字符串的任何新密码:nge,l17,73M等

谁能指导我怎么做?

    String oldPassword = "Angel173MN";
    String newPassword = "Tomato47nge";
    for (int i = 0; i < oldPassword.length() - 2; i++) {
        String sub = oldPassword.substring(i, i + 3);
        if (newPassword.contains(sub)) {
            System.out.println("Substring " + sub + " is part of both passwords");
        }
    }

输出:

子字符串 nge 是两个密码的一部分

正如 @coder-croc 在评论中指出的那样,您可以在第一场比赛中打破循环,因为您不需要找到更多匹配项。由于我将字符串操作理解为您问题的核心,因此我将把逻辑留给自己。

Java 中的 String 类对许多字符串操作都有很好的支持。

链接:String文档

最新更新