字符种类判断
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; }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: Android---对ArrayList排序
- 下一篇: Android JNI作用及其详解