溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java 判斷字符串中是否包含中文的實例詳解

發布時間:2020-09-02 23:54:13 來源:腳本之家 閱讀:144 作者:carl-zhao 欄目:編程語言

Java 判斷字符串中是否包含中文的實例詳解

   Java判斷一個字符串是否有中文是利用Unicode編碼來判斷,因為中文的編碼區間為:0x4e00--0x9fbb, 不過通用區間來判斷中文也不非常精確,因為有些中文的標點符號利用區間判斷會得到錯誤的結果。而且利用區間判斷中文效率也并不高,例如:str.substring(i, i + 1).matches("[\\一-\\?]+"),就需要遍歷整個字符串,如果字符串太長效率非常低,而且判斷標點還會錯誤。這里提高 一個高效準確的判斷方法,使用Java中的Character類: 

實例代碼:

package test;   
   
import static java.lang.Character.UnicodeBlock.*;   
import com.google.common.base.Strings;   
   
public class CheckContainChinese {   
   
  public static void main(String[] args) {   
    String containChinese = "test,我有中文";   
    String containNoChiese = "test, i don't contain chinese";   
    System.out.println("containChinese 是否包含中文 :" + checkStringContainChinese(containChinese));   
    System.out.println("containNoChiese 是否包含中文 :" + checkStringContainChinese(containNoChiese));   
  }   
   
  private static boolean checkStringContainChinese(String checkStr){   
    if(!Strings.isNullOrEmpty(checkStr)){   
      char[] checkChars = checkStr.toCharArray();   
      for(int i = 0; i < checkChars.length; i++){   
        char checkChar = checkChars[i];   
        if(checkCharContainChinese(checkChar)){   
          return true;   
        }   
      }   
    }   
    return false;   
  }  
   
  private static boolean checkCharContainChinese(char checkChar){   
    Character.UnicodeBlock ub = Character.UnicodeBlock.of(checkChar);   
    if(CJK_UNIFIED_IDEOGRAPHS == ub || CJK_COMPATIBILITY_IDEOGRAPHS == ub || CJK_COMPATIBILITY_FORMS == ub ||   
        CJK_RADICALS_SUPPLEMENT == ub || CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A == ub || CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B == ub){   
      return true;   
    }   
    return false;   
  }   
} 
 

運行結果:

Java 判斷字符串中是否包含中文的實例詳解

以上就是java 檢查字符串是否含有中文的實例,如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女