java 判斷字符串中是否含中文

String.getBytes().length != String.length()

String.getBytes().length取的是字節數,因爲中文是全角字符,所以每個中文的字節數都爲2

String.length()取的是字符長度,按中文的個數來截取。

但是這樣有bug  因爲中文是全角字符沒錯,但是並非全角字符就全部是中文

另外的解決方法如下:

  String   str   =   "中國chinese";  
  for(int   i   =0   ;i   <   str.length()   ;   i   ++)  
  {  
  System.out.println(str.substring(i,   i+1).matches("[\\u4e00-\\u9fa5]+"));  
  }  

這是取的中文在Unicode中的編碼區間,而且將字符中的每一個substring都拿出來與字符區間相比

最終很容易判斷出字符中是否有中文。


原文鏈接:http://hilliate.blog.hexun.com/11600190_d.html

發佈了31 篇原創文章 · 獲贊 3 · 訪問量 23萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章