原文路径:http://www.cnblogs.com/zgz345/p/3429542.html
public static boolean hasChinese(String str) {
char[] ch = str.toCharArray();
for (int i = 0; i < ch.length; i++) {
char c = ch[i];
if (isChinese(c)) {
return true;
}
}
return false;
}
public static boolean isChinese(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
|| ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
|| ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
|| ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
return true;
}
return false;
}
public static void main(String[] args) {
String s0 = "abcdef";
String s1 = "abc中国def";
String s2 = "abc。def";
String s3 = "abc(def)";
System.out.println("s0:" + hasChinese(s0));//false
System.out.println("s1:" + hasChinese(s1));//true
System.out.println("s2:" + hasChinese(s2));//true
System.out.println("s3:" + hasChinese(s3));//true
}