Java 将单词与其他文本匹配

Java 将单词与其他文本匹配,java,netbeans,Java,Netbeans,我正在制作一个程序,它需要用户的数据来注册一个帐户。对于其中一个部分,我想在他们选择的密码中有一个类似于用户名的单词时发出一条错误消息。示例:username=John密码=5john123。错误!您的密码不能包含用户名。我翻阅了过去的问题,找到了一个对我有帮助的答案。但只是在一定程度上。有人建议的代码只是这样做的,如果密码和用户名完全相同,那么它将显示一条错误消息。这是他们的建议: if (Arrays.asList(password.split("[\\s]")).indexOf(name)

我正在制作一个程序,它需要用户的数据来注册一个帐户。对于其中一个部分,我想在他们选择的密码中有一个类似于用户名的单词时发出一条错误消息。示例:
username=John
<代码>密码=5john123。错误!您的密码不能包含用户名。我翻阅了过去的问题,找到了一个对我有帮助的答案。但只是在一定程度上。有人建议的代码只是这样做的,如果密码和用户名完全相同,那么它将显示一条错误消息。这是他们的建议:

if (Arrays.asList(password.split("[\\s]")).indexOf(name) != -1)  
              System.out.println("Error!  Your password cannot include your username");   
              else            
              System.out.println("valid password");
上述代码仅在密码和用户名相同时有效。如果任何一方添加了任何内容,它都不起作用


我该如何修改它,以便无论两边是否添加了数字,它仍然可以发现用户名是否包含在密码中?谢谢。

您可以执行以下操作:

String userName = "John";
String password = "5john123";
if (password.toLowerCase().contains(userName.toLowerCase())) {
    System.out.println("Error! Your password cannot include your username");
} else {
    System.out.println("valid password");
}
可能重复的