在Java中,判斷一個字符是字母還是漢字可以使用以下代碼:
public static boolean isLetter(char c) { Character.UnicodeBlock ub = Character.UnicodeBlock.of(c); if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS // 漢字 || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS // 漢字(兼容字) || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A // 漢字(擴展A) || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B // 漢字(擴展B) || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION // 中日韓符號和標點 || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS // 半角和全角字符 ) { return false; } else { return Character.isLetter(c); // 英文字母 } }
使用方法:
char c = '中'; if (isLetter(c)) { System.out.println(c + "是英文字母"); } else { System.out.println(c + "是漢字"); }
上述代碼中,使用了Java中的Character類,UnicodeBlock枚舉和isLetter方法。首先,根據(jù)UnicodeBlock區(qū)塊判斷是不是漢字,如果是則返回false;否則,調(diào)用isLetter方法判斷是否為英文字母。