【问题标题】:How to check if user entered a string that only contains letters? [duplicate]如何检查用户是否输入了仅包含字母的字符串? [复制]
【发布时间】:2016-02-24 21:45:46
【问题描述】:

如何检查用户输入的字符串是否有效?例如,如果用户输入“cat”,那么它将有效,但如果用户输入“cat'12ed”,那么它将无效,因为它应该只包含字母。

【问题讨论】:

  • 你有没有尝试过?你有任何代码要发布吗?
  • Java Regex 可以为您轻松做到这一点。

标签: java


【解决方案1】:

在 Java 中,您可以使用模式匹配检查字符串是字母还是字母数字,如下所示:

public boolean validate(String myString) {
    if ( myString == null) return false;
    return myString.matches("[A-Za-z0-9]+");
}

还有公共StringUtils,它有一个字母数字方法。

【讨论】:

    【解决方案2】:

    尝试正则表达式 - 这应该适合你

    System.out.println("cat".matches("[a-zA-Z]+"));
    
    System.out.println("cat'12ed".matches("[a-zA-Z]+"));
    

    【讨论】:

    • 虽然这段代码 sn-p 可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
    【解决方案3】:

    如果你希望你的字符串只有字母时有效,你必须使用模式,例如:

    if(Pattern.matches("[a-zA-Z]+", yourString)) {
    //ok it's valid
    } else {
    //no, it'n not valid
    }
    

    【讨论】:

      【解决方案4】:

      您也可以使用 Apache Commons StringUtils:StringUtils.isAlpha()

      此问题可能与this question 重复。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-12
        • 1970-01-01
        相关资源
        最近更新 更多