java10.02编不了中文_Java_util_02_Java判断字符串是中文还是英文

1 packageorg.liufeng.course.util;2 importjava.util.regex.Matcher;3 importjava.util.regex.Pattern;4 /**

5 * Description 提供判断字符串是中文或者是英文的一种思路6 *7 */

8 public classChineseAndEnglish_Util {9 public static voidmain(String[] args) {10 String str = "我爱你,!?():;“”、。";11 char[] charArray =str.toCharArray();12 for (int i = 0; i < charArray.length; i++) {13 isChinese(charArray[i]);14 }15 String chinese = "中国god damn";16 System.out.println(isContainChinese(chinese));17 String english = "dfafdabac";18 System.out.println(isEnglish(english));19 }20

21 /**

22 * 1.判断字节是否是中文23 *24 * CJK的意思是“Chinese,Japanese,Korea”的简写 ,实际上就是指中日韩三国的象形文字的Unicode编码25 * Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS :4E00-9FBF:CJK 统一表意符号26 * Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS :F900-FAFF:CJK 兼容象形文字27 * Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A :3400-4DBF:CJK 统一表意符号扩展 A28 * Character.UnicodeBlock.GENERAL_PUNCTUATION :2000-206F:常用标点29 * Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION :3000-303F:CJK 符号和标点30 * Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS :FF00-FFEF:半角及全角形式31 *32 */

33 public static boolean isChinese(charc) {34 Character.UnicodeBlock ub =Character.UnicodeBlock.of(c);35 if (ub ==Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS36 || ub ==Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS37 || ub ==Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A38 || ub ==Character.UnicodeBlock.GENERAL_PUNCTUATION39 || ub ==Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION40 || ub ==Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {41 return true;42 }43 return false;44 }45 //2.检测是否包含英文

46 public static booleanisEnglish(String charaString) {47 return charaString.matches("^[a-zA-Z]*");48 }49 //3.检测是否包含中文

50 public static booleanisContainChinese(String str) {51 String regEx = "[\\u4E00-\\u9FA5]+";52 Pattern p =Pattern.compile(regEx);53 Matcher m =p.matcher(str);54 if(m.find()) {55 return true;56 } else{57 return false;58 }59 }60 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值