Saat mengerjakan proyek, Anda sering menghadapi beberapa masalah yang Anda butuhkan untuk menilai apakah karakternya orang Cina, jadi Anda telah mengumpulkan cuplikan kode untuk menilai karakter Cina. Berikut beberapa berbagi untuk referensi Anda.
Saya memposting kode secara langsung, dengan komentar terperinci di dalamnya.
Paket com.coder4j.main; import java.util.regex.pattern;/*** java menilai karakter Cina** @author chinaxiang* @date 2015-08-11 **/class public checkchinese {public static void main (string [] args) {// PUBLIC CLASS STRING S1 = "Halo, Tom.!@#$%^&*() _+-= {} | []; ':/"? "; // Murni Cina (tidak termasuk tanda baca Cina) string s2 =" halo, Cina "." ":" "; () [) []! ¥,"; // string Korea S4 = "한국어난";////////STRAGE///////////////////////////////////////////////////////////////////ぎじゅつ ぎじゅつ ぎじゅつ � ¥ "; s7 = "╃";String s8 = "╂";// Traditional Chinese String s9 = "old";// 1 Use character range to determine whether System.out.println("s1 contains Chinese: " + has ChineseByRange(s1));// falseSystem.out.println("s2 contains Chinese: " + has ChineseByRange(s2));// truesystem.out.println ("S3 berisi bahasa Cina:" + memiliki cinabyrange (s3)); // truesystem.out.println ("s4 berisi Cina:" + memiliki cinabyrange (s4)); // falsesystem.out.println ("s5 mengandung Cina:" falsesystem.out.println ("S6 berisi bahasa Cina:" + memiliki cinabyrange (s6)); // falsesystem.out.println ("s7 berisi Cina:" + memiliki cinabyrange (s7)); // falsesystem.out.println ("s8 contains contains:" + falsesystem.out.println ("s8 contains contains:" + have falsystem.out.println ("s8 contains contains:" + have falsystem. falsesystem.out.println ("s9 berisi bahasa Cina:" + memiliki cinabyrange (s9)); // truesystem.out.println ("-------------------"); System.out.println("s1 is all Chinese: " + is ChineseByRange(s1));// falseSystem.out.println("s2 is all Chinese: " + is ChineseByRange(s2));// trueSystem.out.println("s3 is all Chinese: " + isChineseByRange(s3));// false Chinese punctuation is not within the range System.out.println("s4 is all Chinese: " + isChineseByRange(s4));// falseSystem.out.println("s5 is all Chinese: " + isChineseByRange(s5));// falseSystem.out.println("s6 is all Chinese: " + isChineseByRange(s6));// falsesystem.out.println ("s7 adalah semua orang Cina:" + ischinesyrange (s7)); // falsesystem.out.println ("s8 adalah semua orang Cina:" + ischinesyrange (s8)); // falsesystem.out.println ("s9 s9 adalah cina:" falsesystem.out.println ("s9 s9 adalah cina:" falsesystem.out.println ("s9 s9 adalah cina:" falsesystem.out.println ("s9 adalah all a all a all a all a all a all a all (" s9 adalah core: falsesystem.out.println ("s9 adalah s9:" s9 s9 s9: "falsesystem truesystem.out.println ("---------------"); // 2 Gunakan rentang karakter penilaian reguler (hasilnya sama dengan 1) System.out.println ("S1 berisi bahasa Cina:" + memiliki ChinaByreg (S1)); // falsesystem.out.println ("S2 mengandung Cina:" + haschine) (S2); truesystem.out.println ("S3 berisi Cina:" + memiliki Chinesebyreg (S3)); // truesystem.out.println ("S4 berisi Cina:" + memiliki Chinabybyreg (S4)); // falsesystem.out.println ("S5 berisi Cina:" + memiliki Cina (falsesystem.out.println ("s5 berisi Cina:" + memiliki Cina (falsesystem.out.println ("s5 berisi Cina:" + memiliki Cina (falsesystem.out.println ("s5 berisi Cina:" + memiliki cinabybyreg (s5) ("s5 berisi Cina:" + telah cina (falsesystem.out.println ("s5 mengandung Cina:" + telah cina (falsesystem.out.println ("s5 mengandung Cina:" + telah china (falsesystem.out) ("s5 (" s5 ("s5 (" s5 ("s5); falsesystem.out.println ("S6 berisi Cina:" + memiliki cinabyreg (s6)); // falsesystem.out.println ("s7 berisi Cina:" + memiliki cinabybyreg (s7)); // falsesystem.out.println ("s8 yang mengandung Cina:" + telah memiliki Cina: " falsesystem.out.println ("s9 berisi bahasa Cina:" + memiliki cinabyreg (s9)); // truesystem.out.println ("-------------------"); System.out.println ("S1 adalah semua Cina:" + adalah Chinesebyreg (S1)); // falsesystem.out.println ("S2 adalah semua Cina:" + adalah cinabyreg (s2)); // truesystem.out.println ("s3 adalah semua Cina:" + kisaran snesystem (s3); System.out.println ("S4 adalah semua orang Cina:" + ischinesebyreg (S4)); // falsesystem.out.println ("s5 adalah semua orang Cina:" + ischinesebyreg (s5)); // falsesystem.out.println ("s6 adalah semua Cina:" + ischine ("s6) (" s6 adalah semua Cina: " + iSchin) (" s6 adalah semua Cina: " + iSchin) (" S6 adalah Cina: " + ISCHINE + ISCHINE (" S6 ISCHINE ("S6 ISCHINE (" S6 ISCHINE ("S6 ISCHINE (" S6 ISCHINE (" falsesystem.out.println ("s7 adalah semua orang Cina:" + ischinesyreg (s7)); // falsesystem.out.println ("s8 adalah semua orang Cina:" + ischinesebyreg (s8)); // falsesystem.out.println ("s9 adalah cina:" falsesystem.out.println ("s9 adalah cina:" s9: falseSystem.out.println ("s9 adalah cina:" s9: s9) ("s9; truesystem.out.println ("----------------"); // 3 Gunakan karakter CJK yang ditetapkan untuk menentukan apakah System.out.println ("S1 berisi bahasa Cina:" + Haschinese (S1)); // falsesystem.out.println ("S2 berisi Cina:" + Haschines (S2); Berisi Cina: " + memiliki Cina (S3)); // truesystem.out.println (" S4 berisi bahasa Cina: " + memiliki Cina (S4)); // falsesystem.out.println (" S5 berisi Cina: " + memiliki Cina (S5)); // falsesystem.out.println) (S5) (S5)); // falesystem.out.out.println (" S5); falseSystem.out.println("s7 contains Chinese: " + has Chinese(s7));// falseSystem.out.println("s8 contains Chinese: " + hasChinese(s8));// falseSystem.out.println("s9 contains Chinese: " + hasChinese(s9));// truesystem.out.println ("-------------------"); System.out.println ("S1 adalah semua orang Cina:" + Ischinese (S1)); // falsesystem.out.println ("S2 adalah semua Cina:" + ischines (S2)); // truesystem. Ischinese (S3)); // tanda baca Cina sejati juga termasuk dalam System.out.println ("S4 adalah semua Cina:" + Ischinese (S4)); // falsesystem.out.println ("S5 adalah Cina:" + ischines (s5)); // falsesystem.out.out. Ischinese (S6)); // falsesystem.out.println ("S7 adalah semua orang Cina:" + Ischinese (S7)); // falsesystem.out.println ("s8 adalah semua Cina:" + Ischines (s8)); // falesesystem.out.out.printll ("s9); true}/*** Apakah itu berisi karakter Cina <br>* berisi tanda baca Cina <br>** @param str* @return*/public static boolean memiliki Cina (string str) {if (str == null) {return false;} char [] ch = str.tochararray (); for (char c: chit: char {}} {cr. {cr char {cr. Apakah semua karakter Cina <br>* berisi tanda baca Cina <br>** @param str* @return*/public static boolean ischinese (string str) {if (str == null) {return false;} char [] ch = str.tochararray (); untuk (char c: ch) {if (! ischinese (c) {co) {char c: ch) {if (! Karakter <br>* berisi tanda baca Cina <br>** @param c* @return*/private static boolean ischinese (char c) {karakter.unicodeBlock ub = karakter.unicodeBlock.of (c); if (ub == karakter.unicodeBlock.cjk_unified_ideographs) {uB == karakter.unicodeBlock.cjk_unified_ideographs) {ube return; Karakter.unicodeBlock.cjk_compatibility_ideographs) {return true;} else if (ub == karakter.unicodeBlock.cjk_symbols_and_punctuation) {return true;} else if (ub == character.unicodeBlock.cjk_ununified_ideographs_extension {Ub == character.unicodeBlock.cjk_ununified_ideographs_extension_extency Character.unicodeBlock.cjk_unified_ideographs_extension_b) {return true;} else if (ub == karakter.unicodeBlock.cjk_unified_ideographs_extension_c) {return true;} lain jika (ub == karakter.unicodeBlock.cjk_unified_ideographs {ub == character.unicodeBlock.cjk_unified_ideographs Karakter.unicodeBlock.general_punctuation) {return true;} else if (ub == karakter.unicodeBlock.halfwidth_and_fullwidth_forms) {return true;} return false;}/*** apakah karakter Cina termasuk <br>* Hakim berdasarkan rangkaian encoding dari karakter China <br>* cjk cina 《》 《》 《》 《》 {{tidak ada karakter Chinese (tidak ada cina, dll.) <br>** @param str* @return*/public static boolean memiliki cinabyreg (string str) {if (str == null) {return false;} pola pola = pola.compile ("[// u4e00-// U9fbf]+"); China kembali. Karakter <br>* cjk karakter Cina terpadu (tidak termasuk bahasa Cina, "《》 ()" '' ",! ¥ dan simbol lainnya) <br>** @param str* @return*/public static boolean ischinesebyreg (string str) {if (str == null) {return false;} pola = pola.compile (") [/if (//null) {return false;} pola = pola.compile ("[/if (/Str == null) {false false;} pola = pola.compile (" [/if (//null) {false false;} Pattern = POLAT. "u) [//u) {uM-u4e4 {u. {u) {u) {u) Pattern.matcher (str) .matches ();}/*** Apakah karakter Cina termasuk <br>* juri berdasarkan rentang pengkodean karakter Cina <br>* cjk karakter Cina terpadu (tidak termasuk Cina, "《》 ()" '' ,! ¥ dan simbol {string) {string {string) {string) (NOLEAN (NOLEAN PUBLEAN (NOLEAN PUBLE (NOLEAN PUBLICE (NOLEAN PUBLE (NOLEAN PUBLIC) false;} char [] ch = str.tochararray (); for (char c: ch) {if (c> = 0x4e00 && c <= 0x9fbf) {return true;}} return false;}/*** apakah semua karakter Cina adalah karakter Cina <br>* Hakim berdasarkan rangkaian encoding dari karakter Cina <br>* cj cord cina <br> Hakim berdasarkan rangkaian encoding dari karakter Cina <br>* cj cjk china <br> dll.) <br>** @param str* @return*/public static boolean ischinesyrange (string str) {if (str == null) {return false;} char [] ch = str.tochararray (); untuk (char c: ch) {if (c <0x4e00 || c> 0x9fbf)Jika Anda hanya menilai apakah itu orang Cina tanpa menilai tanda baca Cina, disarankan untuk menggunakan pencocokan reguler, yang mungkin lebih efisien.
Konten kode di atas memperkenalkan kepada Anda contoh kode Java untuk menilai karakter sebagai orang Cina (super berguna), dan saya harap ini akan membantu Anda.