小编典典

尝试检查字符串是否包含特殊字符或小写Java

java

我正在尝试使此正则表达式行起作用,但它们似乎不起作用(我无法将其打印出“匹配项”。

我的目标是从Scanner中读取一个字符串,然后运行此功能。如果字符串具有小写值或特殊字符,则我想调用无效函数,然后返回NULL。然后在isValid()方法中,让它返回false并结束。

如果它仅包含NUMBERS和UPPERCASE字符,我想按原样返回该字符串,以便它可以执行其他操作。

我似乎无法将它打印出来“匹配”。我确定我做对了,这确实让我感到沮丧,我一直在以各种不同的方式检查论坛,但似乎没有一个起作用。

谢谢您的帮助。

  public static String clean(String str){

    String regex = "a-z~@#$%^&*:;<>.,/}{+";
    if (str.matches("[" + regex + "]+")){
        printInvalidString(str);
        System.out.println("matches");
    } else{
        return str;
    }

    return null;
}

public static boolean isValid(String validationString){

    //clean the string
    validationString = clean(validationString);
    if (validationString == null){
        return false;
    }

阅读 258

收藏
2020-11-26

共1个答案

小编典典

matches将尝试匹配来自startstring.If的在start没有lowercase或者Special charactersfail。用.find或者干脆做出了积极的断言。

^[A-Z0-9]+$

如果是这样passesmatches则为您提供有效的字符串。

2020-11-26