Java 是一種廣泛使用的編程語言,可以用于開發各種類型的應用程序,包括文本處理程序,而文本處理程序常常需要區分漢字和英文,判斷一個字符是中文還是英文是非常重要的。下面我們來介紹一下 Java 中如何進行漢字和英文的區分。
public static boolean isChinese(char c) { Character.UnicodeBlock unicodeBlock = Character.UnicodeBlock.of(c); return (unicodeBlock == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS || unicodeBlock == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS || unicodeBlock == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A || unicodeBlock == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B || unicodeBlock == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || unicodeBlock == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS || unicodeBlock == Character.UnicodeBlock.GENERAL_PUNCTUATION); } public static boolean isEnglish(char c) { return ((c >= 'a' && c<= 'z') || (c >= 'A' && c<= 'Z')); }
上面代碼中,我們定義了兩個方法 isChinese 和 isEnglish,用于判斷一個字符是中文還是英文。其中 isChinese 方法使用了 Character 類的 UnicodeBlock 屬性,該屬性可以返回一個字符所屬的 Unicode 塊,就可以根據這個屬性來判斷該字符是否是中文字符。我們將常用的漢字、標點符號、符號等全部列舉出來。
而 isEnglish 方法則比較簡單,只用判斷該字符是否屬于 a~z 或 A~Z 的范圍即可。
用 Java 來區分漢字和英文是一項很實用的技巧,可以應用在很多場合中。因此我們需要了解其中的原理,以便更好地掌握 Java 的應用。