isAlpha(str) 是将波斯语转换为 Unicode 字符并返回 true 的方法

问题描述

我正在尝试仅以英语获取数据。

enter image description here



我尝试了不同的方法,例如:

public static boolean isAlpha(String s){
return s != null && s.matches("^[a-zA-Z]*$");
}

StringUtils 为:

public static boolean isAlpha(String str){
    return StringUtils.isAlpha(str);
    }

或使用 Java:

public static boolean isAlpha(String s){
        if (s == null) {return false;}
 
        for (int i = 0; i < s.length(); i++){
            char c = s.charAt(i);
            if (!(c >= 'A' && c <= 'Z') && !(c >= 'a' && c <= 'z')) {
                return false;
            }
        }
    return true;
    }

输出为:true
我打印了字符串,发现上述方法正在将波斯字符串转换为 unicode:&#1670;&#1591;&#1608;&#1585;&#1740;

有没有办法得到只有字母和空格的字符串?

解决方法

最后一段代码解决了我的问题:

public static boolean isAlpha(String str){
        boolean isValid = false;
        for (char c : str.toCharArray()) {
            if (!(c >= 'a' && c <= 'z') && !(c >= 'A' && c <= 'Z') && !(c == ' ')) {
                isValid = true;
                break;
            }
        }
    return isValid;
    }

它只接受:
a-z (!(c >= 'a' && c <= 'z')
A-Z !(c >= 'A' && c <= 'Z')
空格 !(c == ' '))

谢谢

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...