1、方法一

 

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

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

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

 2、方法二

 

Java代码  收藏代码
  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;  
评论
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 // 半角及全角字符, 判断中文的,号