Lorsque vous travaillez sur des projets, vous rencontrez souvent des problèmes que vous devez juger si les personnages sont chinois, vous avez donc collecté des extraits de code pour juger des caractères chinois. Voici un partage pour votre référence.
J'ai publié le code directement, avec des commentaires détaillés.
package com.coder4j.main; import java.util.regex.pattern; / *** java juge les caractères chinois * * @author chinaxiang * @date 2015-08-11 ** / classe publique CheckChinese {public static main main (string [] args) {// pure anglais String S1 = "Bonjour, Tom.! @ # $% ^ & * () _ + - = {} | []; ': /"? "; // pur chinois (à l'exclusion de ponctuation chinoise) String s2 =" Hello, China "." ":" "'; () []! = "╃"; chaîne s8 = "╂"; // chaîne traditionnelle chinoise S9 = "Old"; // 1 Utilisez la gamme de caractères pour déterminer si System.out.println ("S1 contient chinois:" + a chinoisbyrange (S1)); // FalSesystem.out.println ("S2 contient le chinois:" + has chinois (S2)); // trudystem.out. contient chinois: "+ a chinoisByRange (s3)); // trusystem.out.println (" s4 contient chinois: "+ a chinoisbyRange (s4)); // falseSystem.out.println (" S5 contient chinois: "+ a chinoisbyrange (S5)); // falsesystem.out.println (" S6 Contille Chine ChineseByRange (S6)); // FalSESystem.out.println ("S7 contient chinois:" + a chinoisbyRange (S7)); // FalSesystem.out.println ("S8 contient chinois:" + Has ChineseBrange (S8)); // Falsesystem.out.println ("S9 CONTAIN truesystem.out.println ("-------------------"); System.out.println ("S1 est tout chinois:" + est chinoisByRange (S1)); // FalSesystem.out.println ("S2 est tout chinois:" + est chinoisbyRange (S2)); // truesystem.out.println ("S3 est tout chinois:" + IschineseRange (S3)); // FACT ponctuel est ponctuel chinois est dans la plage de la plage de la plage de la plage de la plage de la plage de la plage (S3)); // FALSE ponctué chinois n'est pas dans la plage de la plage de la plage de la plage de la plage de la plage de la plage de la plage (S3)); // FALSE PASSÉ CHINOIS ISCUME INSE CONSEMBL System.out.println ("S4 est tout chinois:" + IschineseByRange (S4)); // FalSesystem.out.println ("S5 est tout chinois:" + IschineseByRange (S5)); // FalSesystem.out.println ("S6 est tout le chinois:" + ischineseByRange (S6)); // falsesystem.out.println ("S7 est tout chinois:" + ischineseByRange (S7)); // falsesystem.out.println ("S8 est tout chinois:" + ischineseBrange (S8)); // FalSesystem.out.println ("S9 est tout chinois:" + ischinesesebyrange. truesystem.out.println ("---------------"); // 2 Utiliser le jugement régulier de la gamme de caractères (le résultat est le même que 1) System.out.println ("S1 contient chinois:" + a chinoisbyreg (s1)); // falsesystem.out.println ("S2 contient chinois:" + haschineseby (s2)); // Truesystem.out.println ("S3 contient chinois:" + a chinoisbyreg (s3)); // trueSystem.out.println ("S4 contient chinois:" + a chinoisby (s4)); // falSesystem.out.println ("S5 contenu chinois:" + chinoisbyn (s6)); // falseSystem. Chinois: "+ a chinoisbyreg (s6)); // falsesytem truesystem.out.println ("-------------------"); System.out.println("s1 is all Chinese: " + is ChineseByReg(s1));// falseSystem.out.println("s2 is all Chinese: " + is ChineseByReg(s2));// trueSystem.out.println("s3 is all Chinese: " + isChineseByReg(s3));// false Chinese punctuation is not within the range System.out.println ("S4 est tout chinois:" + IschineseByreg (S4)); // FalSheSystem.out.println ("S5 est tout chinois:" + IschineseByReg (S5)); // FalSesystem.out.println ("S6 est tous chinois:" + IschineseByreg (S6)); // FalSesystem.out.println ("S7 est tout chinois:" + IschineseByreg (S7)); // FalSesystem.out.println ("S8 est tout chinois:" + IschineseByreg (S8)); // falsesystem.out.println ("S9 est tout le chinois:" + ischineseByByreg (S9)); // truesystem.out.println ("----------------"); // 3 Utilisez le jeu de caractères CJK pour déterminer si System.out.println ("S1 contient chinois:" + Haschinese (S1)); // FalSesystem.out.println ("S2 contient chinois:" + haschinese (S2)); // truïes "+ a chinois (s3)); // truesystem.out.println (" S4 contient chinois: "+ a chinois (s4)); // falsesystem.out.println (" S5 contient chinois: "+ a chinois (s5)); // falsesystem.out.println (" S6 contient chinois: "+ a eu chinois (s6)); // falsesystem.out.println ("S7 contient chinois:" + a chinois (s7)); // falSesystem.out.println ("S8 contient chinois:" + haschinese (s8)); // falsesystem.out.println ("S9 contient chinois:" + haschinese (S9)); // truesystem.out.println ("-------------------"); System.out.println ("S1 est tout chinois:" + Ischinese (S1)); // FalSesystem.out.println ("S2 Is All Chinese:" + Ischinese (S2)); // trusystem.out.println ("S3 est tout le chinois:" + Ischinese (S3)); // La ponctuation chinoise vraie est également incluse dans System.out.println ("S4 est tout chinois:" + Ischinese (S4)); // FalSesystem.out.println ("S5 est tout chinois:" + Ischinese (S5)); // Falsesystem.out.println ("S6 est tout le chinois:" + Ischinese (S6)); // FalSesystem.out.println ("S7 est tout chinois:" + Ischinese (S7)); // FalSesystem.out.println ("S8 est tout chinois:" + Ischinese (S8)); // FalseSystem.out.println ("S9 est tout chinois:" + ischinsese (s9)); true} / *** s'il contient des caractères chinois <br> * contient la ponctuation chinoise <br> * * @param str * @ return * / public static booléen a chinois (string str) {if (str == null) {return false;} char [] ch = str.tocharArray (); pour (char c: ch) {if (ischinese (c)) {return true;}}; Tous les caractères chinois <br> * contient la ponctuation chinoise <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;} Le caractère <br> * contient la ponctuation chinoise <br> * * @param c * @ return * / private static boolean ischinese (char c) {caractères.unicodeblock ub = caractères.unicodeblock.of (c); if (ub == caractères.Unicodeblock.cjk_unified_ideographie) {return true;} else if (ub == Caractères.unicodeblock.cjk_compatibilité_ideographie) {return true;} else if (ub == caractères.unicodeblock.cjk_symbols_and_punctuation) {return true;} else if (ub == caractères.unicodeblock.cjk_unified_ideographie_extension_a) {return true;} else if (ub == Caractères.unicodeblock.cjk_unified_ideographs_extension_b) {return true;} else if (ub == caractères.unicodeblock.cjk_unified_ideographs_extension_c) {return true;} else if (ub == caractères.Unicodeblock.cjk_Unified_Ideography Caract.UnicodeBlock.General_Punctuation) {return true;} else if (ub == caractères.UnicodeBlock.halfwidth_and_fullwidth_forms) {return true;} return false;} / *** si les caractères chinois sont inclus <br> * Juge basé sur la gamme d'encodage des caractères chinois <br> * CJK UNIFIE ! ¥, etc.) <br> * * @param str * @ return * / public static boolean a chinoisByreg (String str) {if (str == null) {return false;} motifs de modèle = modèle.comPile ("[// u4e00 - // u9fbf] +"); return moatter.matcher (str). Find ();} / *****. Encodage Range de caractères chinois <br> * CJK Charactes chinois unifiés (sans compter chinois, "《》 ()" '' ",! ¥ et autres symboles) <br> * * @param str * @ return * / public static booléen ischinesebyg (string str) {if (str == null) {return false;} motif de motif = motif de motif = motif = Pattern.Ch. Static Boolean a chinoisByRange (String str) {if (str == null) {return false;} char [] ch = str.tocharArray (); for (char c: ch) {if (c> = 0x4e00 && c <= 0x9fbf) {return true;}} return false;} / *** les caractères chinois sont des caractères chinois <br> * * Basé sur la plage de juge chinois sur la plage de juge chinois sur le juge chinois sont des caractères chinois <br> * * Basé sur la plage de juge chinois sur la zone de juge chinois, les caractères chinois sont des caractères chinois <br> * * Basé sur la plage de juge chinois sur la zone de juge chinois sur la Chine Caractères <br> * CJK Unified Chinese Characles (Sans inclure chinois, "" () "''" ,! ¥, etc.) <br> * * @param str * @ return * / public static booléen ischinesebyRange (string str) {if (str == null) {return false;} char [] ch = str.tocharay (pour (pour (char c: ch) {if (c <0x4e || 0x9fbf) {return false;}} return true;}}Si vous jugez seulement s'il est chinois sans juger la ponctuation chinoise, il est recommandé d'utiliser un match régulier, ce qui peut être plus efficace.
Le contenu du code ci-dessus vous présente l'exemple de code de Java pour juger les personnages comme chinois (super utile), et j'espère que cela vous sera utile.