您好,登錄后才能下訂單哦!
這篇文章運用簡單易懂的例子給大家介紹java如何判斷字符串是否包含中文漢字或字符,代碼非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
(1)使用中文的編碼區間來判斷(推薦,效率高)
String str1 = "T恤;https://blog.csdn.net/vpqtxzmzezeqjj9977";//中文漢字 String str2 = ";https://blog.csdn.net/vpqtxzmzezeqjj9977";//中文分號 String str3 = "https://blog.csdn.net/vpqtxzmzezeqjj9977";//英文 int flage = 0; for (char c : str2.toCharArray()) { if (c >= 0x4E00 && c <= 0x9FA5){ flage = 1; System.out.println("發現中文字符:"+c); break; //有一個中文字符就返回 } } if(flage!=1){ System.out.println("恭喜,沒有發現中文字符!"); }
(2)使用Unicode編碼來判斷中文標點(推薦)
// GENERAL_PUNCTUATION 判斷中文的“號 // CJK_SYMBOLS_AND_PUNCTUATION 判斷中文的。號 // HALFWIDTH_AND_FULLWIDTH_FORMS 判斷中文的,號 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; }
(3)使用正則表達式來判斷(不推薦,效率低,需要遍歷整個字符串)
for (int i = 0; i < str1.length(); i++) { if (str.substring(i, i + 1).matches("[\\u4e00-\\u9fbb]+")) { flage = 1; System.out.println("發現中文字符:"+str.substring(i, i + 1)); break; //有一個中文字符就返回 } } if(flage!=1){ System.out.println("恭喜,沒有發現中文字符!"); }
關于java如何判斷字符串是否包含中文漢字或字符就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。