Wenn Sie an Projekten arbeiten, stoßen Sie häufig auf einige Probleme, die Sie benötigen, um zu beurteilen, ob die Charaktere Chinesen sind. Sie haben also Code -Snippets für die Beurteilung chinesischer Charaktere gesammelt. Hier sind einige Freigaben für Ihre Referenz.
Ich habe den Code direkt mit detaillierten Kommentaren gepostet.
Paket com.coder4j.main; import Java.util.regex.pattern;/*** Java Richter chinesische Zeichen** @author chinaxiang* @date 2015-08-11 **/public class checkchinese {public static void main (String [] Argumente) {// Pure English String S1 = "Hallo, Tom.!@#$%^&*() _+-= {} | []; ':/"? "; // reiner Chinesisch (ohne chinesische Interpunktion) String S2 =" Hallo, China "." = "╃"; String S8 = "╂"; // traditionelle chinesische String S9 = "Old"; // 1 Verwenden Sie den Zeichenbereich, um festzustellen, ob System.out.println ("S1 Chinesisch enthält:" + hat chinesische Rrainer (s1)); // falsesystem.out.println ("s2 enthält chinesisch:" tueSystem.out.println ("S3 enthält Chinese:" + hat chinesische Byrrange (S3); // treeSystem.out.println ("S4 enthält Chinesisch:" + hat Chinese Byrange (s4); // falesystem.out.println (S5 enthält Chinesisch: " + hat chinesische (S5). falsSystem.out.println ("S6 enthält Chinesisch:" + hat chinesische Byrrange (S6); // falssesystem.out.println ("S7 enthält Chinesisch:" + hat Chinese Byrange (S7)); // falesystem.out.println ("S8 Chinese:" + Has chinese (S8); falsSystem.out.println ("S9 enthält Chinesisch:" + hat ChineseByrange (S9)); // tueSystem.out.println ("-------------------"); System.out.println ("S1 ist alle chinesisch:" + ist chinesische Byrange (S1); // falsSystem.out.println ("S2 ist alle chinesisch:" + ist chinesische Byrange (S2); // trueSystem.out.println ("S3 ist chinesisch ist chinesisch:" System.out.println ("S4 ist alle chinesisch:" + ischinesebyrange (s4); // falssesystem.out.println ("S5 ist alle chinesisch:" + ischineseByrange (S5); // falseSystem.out.println ("s6 ist alle chinesisch:" + ischinesystem (S6) //S. falsSystem.out.println ("s7 ist alle chinesisch:" + ischinesebyrrange (s7); // falesystem.out.println ("s8 ist alle chinesisch:" + ischineserange (s8); // falssesystem treesystem.out.println ("---------------"); // 2 verwenden das reguläre Urteil (das Ergebnis ist das gleiche wie 1) System.out.println ("S1 enthält Chinesisch:" + hat Chinesebyreg (S1); // faleSystem.out.println ("S2 enthält Chinesisch:" + Haderseyreg (S2). tuesystem.out.println ("s3 enthält chinesisch:" + hat chinesische byreg (s3); // treesystem.out.println ("s4 enthält chinesisch:" + hat chinesisch -byreg (s4); // falsystem.out.println ("s5 enthält chinesisch:" falsSystem.out.println ("S6 enthält Chinesisch:" + hat ChineseByReg (S6); // falssesystem.out.println ("S7 enthält Chinesisch:" + hat Chinesebyreg (S7); // faleSystem.out.println ("S8 Chinesisch:" + hat chinesische: " + hat chinesische chinesisch (s8); falsSystem.out.println ("S9 enthält Chinesisch:" + hat Chinesebyreg (S9); // tueSystem.out.println ("-------------------"); System.out.println ("S1 ist alle chinesisch:" + ist chinesische byreg (s1); // falssesystem.out.println ("S2 ist alle chinesisch:" + ist chinesischbyreg (s2); // tuesystem.out.println ("s3 ist alle chinesisch:" + ischinese (S3); System.out.println ("S4 ist alle chinesisch:" + ischineseByreg (S4); // falsSystem.out.println ("S5 ist alle chinesisch:" + ischineseByreg (s5); // faleSystem.out.println ("S6 ist alle chinesisch:" + ischinesyreg (S6); falsSystem.out.println ("s7 ist alle chinesisch:" + ischinesebyreg (s7); // falssesystem.out.println ("s8 ist alle chinesisch:" + ischinesebyreg (S8); // falssesystem.out.println ("S9 ist alles chinesisch:" + ischinesymreum (S9); treesystem.out.println ("----------------"); // 3 Verwenden Sie das CJK-Zeichen, um zu bestimmen, ob System.out.println ("S1 Chinesisch enthält:" + HaSchinese (S1); // falsSystem.out.println ("s2 enthält chinesische:" HaSchinese (S2); Enthält Chinesen: " + hat Chinesisch (S3)); // tueSystem.out.println (" S4 enthält Chinesisch: " + Has Chinese (S4)); // falssesystem.out.println (" S5 enthält Chinesisch: " + hat Chinesisch (S5); // Falsystem.Out.Println (S6 contains chinesisch (s6) (S6) (S6) (S6) (S6) (S6); falsSystem.out.println ("S7 enthält Chinesen:" + hat Chinese (S7); // falsseystem.out.println ("S8 enthält Chinesisch:" + HaSchinese (S8); // falsystem.out.println (S9 enthält chinesische: " + HaSchinese (S9); // // // // // // // // /// tueSystem.out.println ("-------------------"); System.out.println ("S1 ist alle chinesisch:" + ischinese (S1)); // falssesystem.out.println ("S2 ist alle Chinesen:" + ischinese (S2)); ischinesisch (s3)); // wahre chinesische Interpunktion ist auch in System enthalten. isChinese(s6));// falseSystem.out.println("s7 is all Chinese: " + isChinese(s7));// falseSystem.out.println("s8 is all Chinese: " + isChinese(s8));// falseSystem.out.println("s9 is all Chinese: " + isChinese(s9));// true}/*** ob es chinesische Zeichen enthält <br>* enthält eine chinesische Interpunktion <br>** @param str* @return all Chinese characters<br>* contains Chinese punctuation<br>* * @param str* @return*/public static boolean isChinese(String str) {if (str == null) {return false;}char[] ch = str.toCharArray();for (char c : ch) {if (!isChinese(c)) {return false;}}return true;}/*** Whether it is a Chinese Zeichen <br>* enthält chinesische Interpunktion <br>** @param c* @return Charakter.unicodeBlock.cjk_compatibility_ideographs) {return true;} else if (ub == charakter.unicodeBlock.cjk_symbols_and_punctuation) {return true;} else if if (ub == charakter. Charakter.unicodeBlock.cjk_unified_ideographs_extension_b) {return true;} else if (ub == Zeichen. Charakter.unicodeBlock.Ageneral_punctuation) {return true;} else if (ub == charakter.unicodeBlock.halfwidth_and_fullwidth_forms) {return true;} return false;}/*** Ob chinesische Charaktere auf der Grundlage der chinesischen Chaith -Charaktere eingeschlossen sind. ! ¥ usw.) <br>** @param str* @return Reichweite chinesischer Zeichen <br>* CJK Unified chinesische Zeichen (ohne Chinesen "," 《》 () "''",! ¥ und andere Symbole) <br>** @param str* @return*/public static boolean ischinesebyreg (String str) {if (str == null) {return false;} muster = must..comPile ("[// u4e00-// u9fbf] (u4e00-// u9fbf] (" u4e00-// u9fbf/u9fbf/u9fbf/u9fbf/u9fbf/u9fbf.-. muster.matcher (str) .Matches ();}/*** Ob chinesische Zeichen auf der Grundlage des Codierungsbereichs chinesischer Zeichen enthalten sind. false;}char[] ch = str.toCharArray();for (char c : ch) {if (c >= 0x4E00 && c <= 0x9FBF) {return true;}}return false;}/*** Whether all Chinese characters are Chinese characters<br>* Judge based on the encoding range of Chinese characters<br>* CJK Unified Chinese characters (not including Chinese, "" () "''", !¥, usw.) <br>** @param str* @return*/public static boolean ischineSyRange (String str) {if (str == null) {return false;} char [] ch = str.toCharArArray () für (char c: ch) {if (c <0x4e00 || c> 0x9fbf) {{{{{{}}} |Wenn Sie nur beurteilen, ob es Chinese ist, ohne die chinesische Interpunktion zu beurteilen, wird empfohlen, regelmäßige Übereinstimmungen zu verwenden, was möglicherweise effizienter ist.
Der obige Codeinhalt führt Ihnen den Beispielcode von Java vor, um Zeichen als chinesisch (super nützlich) zu beurteilen, und ich hoffe, dass er Ihnen hilfreich ist.