如何使用charAt检查字符串是否以A-Z或a-z开头?

时间:2017-02-21 22:57:19

标签: java

else if (!strEmail.toUppercase.charAt(0) < 'A' || !strEmail.toUppercase.charAt(0) > 'Z')
        {
            JOptionPane.showMessageDialog(null, "Must start with A through Z or a through z");
        }

我尝试过这样做,但我不断收到错误消息。我应该单独使用charAt吗?我最好使用indexOf检查字符串或电子邮件是以小写字母还是大写字母开头。我正在考虑将索引和字符组合在一起,但我试过了,但它没有用。

3 个答案:

答案 0 :(得分:0)

您需要将'或'更改为'和' - 您必须低于A且大于Z.记住 - 使用||时,只有一个条件必须为真整个陈述是真实的。

答案 1 :(得分:0)

您可以使用regex来检查String是否以字母开头,例如:

public static void main(String[] args) throws IOException {
    String pattern = "^[a-zA-Z].*$";
    System.out.println("abc".matches(pattern));
    System.out.println("Abc".matches(pattern));
    System.out.println("1ds".matches(pattern));
    System.out.println("1r1".matches(pattern));
}

答案 2 :(得分:0)

这将是toUpperCase();我会使用substring所以我可以使用正则表达式进行测试。像,

if (!strEmail.toUpperCase().substring(0, 1).matches("[A-Z]")) {
    System.out.println("does not match");
}