牛骨文教育服务平台(让学习变的简单)
博文笔记

字符种类判断

创建时间:2017-01-12 投稿人: 浏览次数:714

1、判断是否是中文汉字

 

private static boolean isChinese(char c) {
    if((c >= 0x4e00)&&(c <= 0x9fbb)) {
        return  true;
    }
    return  false;
}

// 只能判断部分CJK字符(CJK统一汉字)
public static boolean isChineseByREG(String str) {
    if (str == null) {
        return false;
    }
    Pattern pattern = Pattern.compile("[\u4E00-\u9FBF]+");
    return pattern.matcher(str.trim()).find();
}

只能判断是否是中文,但不能判断是否是中文标点。

 2、判断字符是否是中文或中文字符标点


private static final boolean isChinese(char c) {
    Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
    if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
            || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
            || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
            || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
            || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
            || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
        return true;
    }
    return false;
}


Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS : 4E00-9FBF:CJK 统一表意符号
Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS :F900-FAFF:CJK 兼容象形文字
Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A :3400-4DBF:CJK 统一表意符号扩展 A
CJK的意思是“Chinese,Japanese,Korea”的简写 ,实际上就是指中日韩三国的象形文字的Unicode编码
Character.UnicodeBlock.GENERAL_PUNCTUATION :2000-206F:常用标点
Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION :3000-303F:CJK 符号和标点
Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS :FF00-FFEF:半角及全角形式

 3、判断字符是否英文

private static boolean isEnglish(char c){
    if ((c >= "A" && c <= "Z") || (c >= "a" && c <= "z")) {
            return true;
    }
    return false;
}

 4、判断字符是否是数字
private static boolean isFigure(char c){
    if (c >= "0" && c <= "9") {
        return true;
    }
    return false;
}



声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。