您的位置:首页 > 编程语言 > Java开发

java 判断字符串中是否含中文

2012-03-04 12:43 211 查看
String.getBytes().length != String.length()

String.getBytes().length取的是字节数,因为中文是全角字符,所以每个中文的字节数都为2

String.length()取的是字符长度,按中文的个数来截取。

但是这样有bug 因为中文是全角字符没错,但是并非全角字符就全部是中文

另外的解决方法如下:

String str = "中国chinese";

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

{

System.out.println(str.substring(i, i+1).matches("[\\u4e00-\\u9fa5]+"));

}

这是取的中文在Unicode中的编码区间,而且将字符中的每一个substring都拿出来与字符区间相比

最终很容易判断出字符中是否有中文。

原文链接:http://hilliate.blog.hexun.com/11600190_d.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: