프로젝트를 수행 할 때는 종종 캐릭터가 중국인인지 판단 해야하는 몇 가지 문제가 발생하므로 중국어를 판단하기 위해 코드 스 니펫을 수집했습니다. 다음은 참조를위한 공유입니다.
자세한 주석으로 코드를 직접 게시했습니다.
패키지 com.coder4j.main; import java.util.regex.pattern;/*** Java Java 심판 중국어** @author chinaxiang* @date 2015-08-11 **/public class checkchinese {public static void main (String [] args) {// Pure English String S1 = "hello, tom. = "╃"; 문자열 s8 = "╂"; // 전통적인 중국 문자열 s9 = "old"; // 1 system.out.println ( "s1은 중국어 :" + has has has has has hasesystem.out.println ( "s2 포함 중국어 :" + Hastessystem.outs.println (s2); // truesystem.out.println ( "S3은 중국어를 포함합니다 :" + Hase ChineserBange (s3)); // truesystem.out.println ( "S4는 중국어를 포함합니다 :" + Hase ChineseBerange (s4)); // falsesystem.out.println ( "S5 포함 중국어 (S5); // falsesystem.out.println ( "S6은 중국어를 포함합니다 :" + Hase ChineserBange (s6)); // falsesystem.out.println ( "S7은 중국어를 포함합니다 :" + Hase ChineseRange (S7)); // falsesystem.out.println ( "S8 Continains Chinese (S8)); falsesystem.out.println ( "S9는 중국어를 포함합니다 :" + Hase ChineserBange (s9)); // truesystem.out.println ( "------------------"); System.out.println ( "S1은 모두 중국인입니다." +는 중국어입니다. System.out.println ( "S4는 모두 중국어입니다 :" + ischinesebyRange (s4)); // falsesystem.out.println ( "S5는 모두 중국어입니다 :" + ischinesebyrange (s5)); // falsesystem.out.println ( "S6은 모두 s6); // falsesystem.out.println ( "S7은 모두 중국어입니다 :" + ischinesebyrange (s7)); // falsesystem.out.println ( "s8은 모두 중국어입니다 :" + ischinesebyrange (s8)); // falsesystem.out.println ( "s9는 모두 s9);"); truesystem.out.println ( "--------------"); // 2 문자 범위 정기 판단 (결과는 1) System.out.println ( "S1은 중국어 :" + has hasy intersyreg (s1)); // falsesystem.out.println ( "S2 포함 중국어 :" + Haschinsereg (s2)); truesystem.out.println ( "S3는 중국어를 포함합니다 :" + Hase Chineser (s3)); // truesystem.out.println ( "S4는 중국어 :" + Hase ChineseByreg (s4)); // falsesystem.out.println ( "S5 포함 중국어 :" + Hase -hasereg (s5)); // falsesystem.out.println ( "S6은 중국어를 포함합니다 :" + Hase ChineseByreg (s6)); // falsesystem.out.println ( "S7은 중국어를 포함합니다 :" + has hasy chineseber (s7)); // falsesystem.out.println ( "S8 포함 중국어 :" + Has has has has has has has. falsesystem.out.println ( "S9는 중국어를 포함합니다." + Hase ChineseByreg (s9)); // truesystem.out.println ( "------------------"); System.out.println ( "S1은 모두 중국어입니다." +는 중국어 (s1)); // falsesystem.out.println ( "s2는 모두 중국어입니다. System.out.println ( "S4는 모두 중국어입니다 :" + ischinesebyreg (s4)); // falsesystem.out.println ( "s5는 모두 중국어입니다 :" + ischinesebyreg (s5 s5)); // falsesystem.out.println ( "s6은 모두 중국어 : // ischinsebyreg (s6)); falsesystem.out.println ( "S7은 모두 중국어입니다 :" + ischinesebyreg (s7)); // falsesystem.out.println ( "s8은 모두 중국어입니다 :" + ischinesebyreg (s8)); // falsesystem.out.println ( "s9는 모두 s9 :") truesystem.out.println ( "--------------"); // 3 CJK 문자를 사용하여 System.out.println ( "S1은 중국어 :" + haschinese (s1)); // falsesystem.out.println ( "S2 포함 중국어 :" + Haschines (S2); " + Haschines (s2); 중국어를 포함합니다 : " +는 중국어 (S3)); // truesystem.out.println ("S4는 중국어를 포함합니다 : " +는 중국어 (s4)); // falsesystem.out.println ("S5는 중국어를 포함합니다 : " + 중국어 (// falsesystem.println); falsesystem.out.println ( "S7은 중국어를 포함합니다 :" +는 중국어 (s7)); // falsesystem.out.println ( "s8은 중국어 :" + haschinese (s8)); // falsesystem.out.println ( "s9 포함 중국어 :" + Haschinese (s9)); // truesystem.out.println ( "-----------------"; System.out.println ( "S1은 모두 중국어입니다 :" + ischinese (s1)); // falsesystem.out.println ( "S2는 모두 중국어입니다 :" + ischinese (s2)); // truesystem.out.println ( "s3 is3 is 3 is is 3 is" ischinese (s3)); // 진정한 중국 구두점은 System.out.println에도 포함되어 있습니다 ( "S4는 모두 중국어입니다 :" + ischinese (s4)); // falsesystem.out.println ( "S5는 모두 중국어 (s5)); // falsesystem.out.println ("s6 is 6 is " ischinese (s6)); // falsesystem.out.println ( "s7은 모두 중국어입니다 :" + ischinese (s7)); // falsesystem.out.println ( "S8은 모두 중국어입니다 :" + ischinese (s8)); // falsesystem.out.println (s9); 중국어 문자가 포함되어 있는지 <br>* 중국어 구두점을 포함하는지 <br>* @param str* @return*/public static boolean has winer (string str) {if (str == null) {return false;} ch = str.tocharray (); for (char c : ch) {return (c))}}}}}}}}. 모든 중국어 <br>*는 중국 구두점 <br>** @param str* @return*/public static boolean ischinese (string str) {if (str == null) {return false;} ch = ch = str.tochararray (); for (char c : ch) {ischinese (c))}}}}}}}}}}}}}}}}. 문자 <br>*은 중국 구두점 <br>** @param c* @return*/private static boolean ischinese (char c) {ar arribute.unicodeblock.cjk_compatibility_ideographs) {return true;} else if (ub == arribute.unicodeblock.cjk_symbols_and_punctuation) {return true;} else if (ub == arribute.ub = unicodeblock.cjk_unified_ideographs_extension_A) arribute.unicodeblock.cjk_unified_ideographs_extension_b) {return true;} else if (ub == arribute.unicodeblock.cjk_unified_ideographs_extension_c) {return true;} else if (ub == atrive.UnicodeBlock.cjk_ideIfichaephors_extsention_d) arribute.unicodeblock.general_punctuation) {return true;} else if (ub == arribute.unicodeBlock.halfwidth_and_fullwidth_forms) {return false;}/*** 중국어의 인코딩 범위 <br>* CJK Unifified 중국어 (중국어를 포함하지 않음) '' '' ' ! 중국어 범위 <br>* cjk 통합 중국어 (중국어 포함) (중국어 포함, "《》 ()" '',! ¥ 및 기타 기호) <br>* @param str* @return*/public static boolean ischinesebyreg (string str) {if (str == null) {return false;} 패턴 패턴 = 패턴. Pattern.matcher (str) .matches ();}/*** 중국어가 포함되어 있는지 <br>* 중국어의 인코딩 범위 <br>* CJK Unified Chineratire (중국어 포함, "《》 ()" '',! ¥ 및 기타 기호) <br>** @param st* @return*/public static boolean (str.) false;} char [] ch = str.tochararray (); for (char c : ch) {if (c> = 0x4e00 && c <= 0x9fbf) {return true;}} 모든 중국어 문자가 거짓;}/*** 인코딩 범위 <br>* cjk interified (중국어를 포함하지 않음) "" " 등) <br>** @param st* @return*/public static boolean ischinesebyrange (string str) {if (str == null) {return false;} char [] ch = str.tochararray (); for (char c : ch) {if (c <0x4e00 || c> 0x9fbf) {return fallye;중국 구두점을 판단하지 않고 중국인 여부를 판단하는 경우 정기적 인 매칭을 사용하는 것이 좋습니다. 이는 더 효율적일 수 있습니다.
위의 코드 내용은 캐릭터를 중국어로 판단하기위한 Java의 예제 코드를 소개합니다.