检查字符串是否仅包含字母

2022-08-31 10:45:47

这个想法是读取字符串并验证它不包含任何数字字符。因此,像“smith23”这样的东西是不可接受的。


答案 1

你想要什么?速度还是简单?对于速度,请采用基于循环的方法。为简单起见,请选择基于正则表达式的单衬里方法。

速度

public boolean isAlpha(String name) {
    char[] chars = name.toCharArray();

    for (char c : chars) {
        if(!Character.isLetter(c)) {
            return false;
        }
    }

    return true;
}

单纯

public boolean isAlpha(String name) {
    return name.matches("[a-zA-Z]+");
}

答案 2

Java 8 lambda 表达式。既快速又简单。

boolean allLetters = someString.chars().allMatch(Character::isLetter);