Работая над проектами, вы часто сталкиваетесь с некоторыми проблемами, которые вам необходимы, чтобы судить, являются ли персонажи китайскими, поэтому вы собрали фрагменты кода для оценки китайских иероглиф. Вот некоторые обмен для вашей ссылки.
Я разместил код напрямую, с подробными комментариями в нем.
Пакет com.coder4j.main; import java.util.regex.pattern;/*** Java судей китайских иерок** @author chinaxiang* @date 2015-08-11 **/public cleckchinese {public static void main (string [] args) {// pure string s1 = pure s1 = «Привет, Том.!@#$%^&*() _+-= {} | []; ':/"? "; // чистый китайский (исключая китайскую пунктуацию) Строка S2 =" Привет, Китай ".": ""' '; () []! = "╃"; String S8 = "╂"; // Традиционная китайская строка S9 = "Old"; // 1 Использовать диапазон символов, чтобы определить, System.out.println ("S1 содержит китайский:" + имеет китайский бандж (S1)); // falsystem.out.println ("S2 содержит китайский:" + имеет китайский завод (S2); truesystem.out.println ("S3 содержит китайский:" + имеет китайский бандж (S3)); // truesystem.out.println ("S4 содержит китайский:" + имеет китайский бандж (S4)); // falsesystem.out.println ("S5 содержит китайские:" + есть китайский язык (s5); falsesystem.out.println ("s6 содержит китайский:" + имеет китайский завод (S6)); // falsesystem.out.println ("S7 содержит китайский:" + имеет китайский бандж (S7)); // falsystem.out.println ("s8 содержит китайский:" + есть китайский бандж (S8); falsesystem.out.println ("S9 содержит китайский:" + имеет китайский бандж (S9)); // truesystem.out.println ("-------------------"); System.out.println («S1 - это все китайцы:» + is is is inficebyrange (s1)); // falsesystem.out.println («S2 - это все китайцы:« + китайский бандж (S2)); // trueSystem.out.println («S3 - все китайский:». + Ischinesebyrange (s3); System.out.println («S4 - это все китайцы:» + ischinesebyrange (s4)); // falsesystem.out.println («S5 - это все китайцы:» + ischinesebyrange (s5)); // falsesystem.out.println («S6 - это все китайцы:» Isshinesebyrang falsesystem.out.println ("S7 - все китайский:" + ischinesebyrange (s7)); // falsesystem.out.println ("s8 - все китайский:" + ischinesebyrange (s8)); // falsesystem.out.println ("S9 - все китайское:" + ishinese); truesystem.out.println ("---------------"); // 2 Использовать регулярное суждение в диапазоне символов (результат такой же, как 1) System.out.println ("S1 содержит китайский:" + имеет китайский брюк (s1)); // falsesystem.out.println ("S2 содержит китайцы:" + Хасинбир. truesystem.out.println ("S3 содержит китайский:" + имеет китайский завод (S3)); // truesystem.out.println ("S4 содержит китайский:" + имеет китайский блюд (S4)); // falsesystem.out.println ("S5 содержит китайцы:" + имеет китайский язык (s5); falsesystem.out.println ("S6 содержит китайский:" + имеет китайский завод (S6)); // falsesystem.out.println ("S7 содержит китайский:" + имеет китайский блюд (S7)); // falsesystem.out.println ("s8 содержит китайские:" + есть китайский язык (s8); falsesystem.out.println ("S9 содержит китайский:" + имеет китайский балл (s9)); // truesystem.out.println ("-------------------"); System.out.println ("S1 - это все китайцы:" + is is is witchbyreg (s1)); // falsystem.out.println ("S2 - все китайский:" + is is inficeReg (s2)); // trueSystem.out.println ("S3 - все китайское:" + ischinesebyreg (s3); System.out.println ("S4 - это все китайцы:" + ischinesebyreg (s4)); // falsesystem.out.println ("S5 - все китайцы:" + ischinebyreg (s5)); // falsesystem.out.println ("s6 - все китайцы:" + ischinesebyreg (s6); falsesystem.out.println ("s7 is is All китайский:" + ischinesebyreg (s7)); // falsesystem.out.println ("S8 - все китайский:" + ischinesebyreg (s8)); // falsysystem.out.println ("S9 - это все китайское:" + isshinesbysem. truesystem.out.println ("----------------"); // 3 Используйте набор символов CJK, чтобы определить, System.out.println ("S1 содержит китайский:" + Haschinese (S1)); // falsystem.out.println ("S2 содержит китайский:" + Хаслинзе (s2); Содержит китайский: « + имеет китайский (S3)); // trueSystem.out.println (" S4 содержит китайский: " + имеет китайский (S4)); // falsesystem.out.println (" S5 содержит китайский: " + имеет китайский (s5)); // falsystem.out.println (" S6 содержит: "// windsystem.out.println (" S6 содержит: "// windsystem. falsesystem.out.println ("S7 содержит китайский:" + имеет китайский (S7)); // falsesystem.out.println ("S8 содержит китайский:" + хашина (S8)); // falsesystem.out.println ("S9 содержит китайцы:" + Хасиньезе (s9); truesystem.out.println ("-------------------"); System.out.println ("S1 All китайский:" + ишинесский (S1)); // falsystem.out.println ("S2-все китайцы:" + ичиняский (S2)); // trueSystem.out.println ("S3-" S3: "S3-" S3 ". Ишинцы (S3)); // Истинная китайская пунктуация также включена в System.out.println ("S4 - все китайский:" + ишинесский (S4)); // falsesystem.out.println ("S5 - все китайцы:" + ичинье (S5)); // falsesystem.out.println ("S5); // falsesystem.out. Ишинский (S6)); // falsesystem.out.println («S7 - это все китайцы:» + ишинзе (S7)); // falsesystem.out.println («S8 - все китайцы:« + Ишинский (S8)); // falsyStem.out.println (»(S9); true}/*** Содержит ли он китайские иероглифы <br>* содержит китайскую пунктуацию <br>** @param str* @return*/public static boolean имеет китайский (string str) {if (str == null) {return false;} char [] ch = str.tochararray (); для (char c: ch: if (i ischinese (c)) {return; Все китайские иероглифы <br>* содержит китайскую препинания <br>** @param str* @return*/public static boolean ishinese (string str) {if (str == null) {return false;} char [] ch = str.tochararray (); for (char c: ch) {if (! ischinese (c)) {return false; символ <br>* содержит китайскую пунктуацию <br>** @param c* @return*/private static boolean ishinese (char c) {natural.unicodeblock ub = символ. Unicodeblock.of (c); if (ub == earment.unicodeblock.cjk_unified_ideograps) {return true;} else (ub == Farmation.unicodeblock.cjk_compatibility_ideographs) {return true;} else if (ub == символ. Farmation.unicodeblock.cjk_unified_ideographs_extension_b) {return true;} else if (ub == exatural.unicodeblock.cjk_unified_ideographs_extension_c) {return true;} else if (ub == nature.unicodeblock.cjk_unified_ideographs_extension_ {ub == natural.unicodeblock.cjk_unified_ideographs_extension_ rather. Parmate.unicodeblock.general_punctuation) {return true;} else if (ub == anagem. unicodeblock.halfwidth_and_fullwidth_forms) {return true;} вернуть false;}/*** включены китайские иименники (не включают ли китайские имена (не включали китайские имена (не включали китайские имена (не включали китайские имена (не включали китайские символы китайские китайские имена (не включали китайские имена китайских. ! ¥, и т. Д.) <br>** @param str* @return*/public static boolean имеет китайский брюк (String str) {if (str == null) {return false;} pattern pattern = pattern.compile ("// u4e00-// u9fbf]+"); Диапазон китайских иерогене <br>* CJK Unified Китайские иероглифы (не включая китайских, «《》 ()" '' ",! ¥ и другие символы) <br>** @param str* @return*/public static boolean ischinesebyreg (string str) {if (str == null) {return false;} pattern = pattern.compile ("/if (/////"return; Pattern.matcher (str) .matches ();}/*** включены ли китайские иероглифы <br>* Судья на основе диапазона кодирования китайских иероглифс <br>* CJK Unified Китайские иероглифы (не включая китайские, «《》 ()" '' ',! ¥ и другие символы) <br>* @param strue* return*/public static boolean есть китайский strang false;} char [] ch = str.tochararray (); for (char c: ch) {if (c> = 0x4e00 && c <= 0x9fbf) {return true;}} вернуть false;}/*** все ли китайские иероглифы на китайских иероглифы «)», основанные на кодирующем диапазоне китайских иерогли и т. д.)Если вы только судите, является ли это китайцем, не судя по препинаниям китайцев, рекомендуется использовать регулярное соответствие, что может быть более эффективным.
Приведенный выше контент кода представляет вам пример кода Java, чтобы судить персонажей как китайские (очень полезные), и я надеюсь, что это будет полезно для вас.