java - 检查字符是否是拉丁字母的一部分?

标签 java

在继续处理之前,我需要测试字符是字母还是空格。所以,我

    for (Character c : take.toCharArray()) {
        if (!(Character.isLetter(c) || Character.isSpaceChar(c)))
            continue;

        data.append(c);

检查数据后,我发现它包含的字符看起来像是拉丁字母以外的字符的 unicode 表示。我怎样才能修改上面的代码来收紧我的条件,只接受落在 [a-z][A-Z] 范围内的字母字符?

Regex 是一种可行的方法,还是有更好(更快)的方法?

最佳答案

如果你特别想只处理这 52 个字符,那么只处理它们:

public static boolean isLatinLetter(char c) {
    return (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z');
}

关于java - 检查字符是否是拉丁字母的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9154905/

相关文章:

java - 使用 Javatar 在 Sublime Text 3 上导入外部 jar

java - 解析 xml : attributes. getValue() 返回 null?

java - While 循环对于偶数/奇数无法正常工作

java - 如何将 JSON 数组从服务器发送到客户端,即(java 到 AJAX/Javascript)?

java - 无法导入 java.awt.font 类

java - 这个图案的名字是什么? (答案: Remote Proxy)

java - Jersey 找不到资源 : 404 error

java - SpringBoot 2从1.5迁移依赖错误

java - 如何为 Web 应用程序创建和使用自定义类的变量?

java - 如何将 google-protobuf 创建的 java 代码构建、集成和编译到 Android Studio 项目中