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

内容摘要
Java用的是Unicode 编码char 型变量的范围是0-65535 无符号的值,可以表示 65536个字符,基本上地球上的字符可被全部包括了,实际中,我们希望判断一个字符是不是汉字,或者一个字
文章正文

Java用的是Unicode 编码char 型变量的范围是0-65535 无符号的值,可以表示 65536个字符,基本上地球上的字符可被全部包括了,实际中,我们希望判断一个字符是不是汉字,或者一个字符串里的字符是否有汉字来满足业务上的需求,String类中有个这样的方法可得到其字符长度length() ,看下面例子,

String s1 = "我是中国人";  
String s2 = "imchinese";  
String s3 = "im中国人";  
System.out.println(s1+":"+new String(s1).length());  
System.out.println(s2+":"+new String(s2).length());   
System.out.println(s3+":"+new String(s3).length());

OUTPUT:

我是中国人:5

imchinese:9

im中国人:5

java判断字符串是否为中文:

/**
 * 判断该字符串是否为中文
 * @param string
 * @return
 */
public static boolean isChinese(String string){
    int n = 0;
    for(int i = 0; i < string.length(); i++) {
        n = (int)string.charAt(i);
        if(!(19968 <= n && n <40869)) {
            return false;
        }
    }
    return true;
}

unicode编码范围:

汉字:[0x4e00,0x9fa5](或十进制[19968,40869])

数字:[0x30,0x39](或十进制[48, 57])

小写字母:[0x61,0x7a](或十进制[97, 122])

大写字母:[0x41,0x5a](或十进制[65, 90])

unicode中文范围

汉字编码范围:u4e00-u9FA5

双字节字符编码范围:u0391-uFFE5

更多java知识请关注java基础教程。

代码注释
[!--zhushi--]

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!