JAVA中判断char是否是中文的几种方法

时间:2023-03-09 03:24:36
JAVA中判断char是否是中文的几种方法

1、方法一

  1. char c = 'a';
  2. if((c >= 0x4e00)&&(c <= 0x9fbb)) {
  3. System.out.println("是中文");
  4. }

上面的方法很简单,但只能判断是否是中文,但不能判断是否是中文标点。

下面的方法很全面,中文字符标点都可以判断

2、方法二

  1. private static final boolean isChinese(char c) {
  2. Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
  3. if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
  4. || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
  5. || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
  6. || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
  7. || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
  8. || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
  9. return true;
  10. }
  11. return false;
  12. }
评论
1 楼 JetMah 2012-06-20  
block == CJK_UNIFIED_IDEOGRAPHS // 中日韩统一表意文字
|| block == CJK_COMPATIBILITY_IDEOGRAPHS // 中日韩兼容字符
|| block == CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A // 中日韩统一表意文字扩充A
|| block == GENERAL_PUNCTUATION // 一般标点符号, 判断中文的“号
|| block == CJK_SYMBOLS_AND_PUNCTUATION // 符号和标点, 判断中文的。号
|| block == HALFWIDTH_AND_FULLWIDTH_FORMS // 半角及全角字符, 判断中文的,号