java判断中文英文_Java中判断字符串是中文或者英文的工具类分享

import java.util.regex.Matcher;

import java.util.regex.Pattern;

/**

*

*

* ClassName ShowChineseInUnicodeBlock

*

*

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

*

*

* @author wangxu wangx89@126.com

*        

*         Date 2014-9-16 下午06:45:35

*        

* @version V1.0

*

*/

public class ShowChineseInUnicodeBlock {

public static void main(String[] args) {

String str = "我爱你,!?():;“”、。";

char[] charArray = str.toCharArray();

for (int i = 0; i < charArray.length; i++) {

isChinese(charArray[i]);

}

String chinese = "中国god damn";

System.out.println(isContainChinese(chinese));

String english = "dfafdabac";

System.out.println(isEnglish(english));

}

/**

*

*

* Title: isChinese

*

*

* Description: 该函数就用来打印一些字符看看属于什么

*

*

* @param c

*

*/

public static void isChinese(char c) {

Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);

if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS) {

System.out.println(c + "--CJK_UNIFIED_IDEOGRAPHS");

} else if (ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS) {

System.out.println(c + "--CJK_COMPATIBILITY_IDEOGRAPHS");

} else if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A) {

// CJK Unified Ideographs Extension WikipediaUnicode扩展汉字

// CJK Unified Ideographs Extension A 中日韩统一表意文字扩展区A ; 表意文字扩充A

// CJK Unified Ideographs Extension B 中日韩统一表意文字扩展区B

System.out.println(c + "--CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A");

} else if (ub == Character.UnicodeBlock.GENERAL_PUNCTUATION) {// 通用标点

System.out.println(c + "--GENERAL_PUNCTUATION");

} else if (ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION) {

System.out.println(c + "--CJK_SYMBOLS_AND_PUNCTUATION");

} else if (ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {

System.out.println(c + "--HALFWIDTH_AND_FULLWIDTH_FORMS");

}

}

public static boolean isEnglish(String charaString) {

return charaString.matches("^[a-zA-Z]*");

}

public static boolean isContainChinese(String str) {// 检测是否包含中文

String regEx = "[\\u4E00-\\u9FA5]+";

Pattern p = Pattern.compile(regEx);

Matcher m = p.matcher(str);

if (m.find()) {

return true;

} else {

return false;

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值