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

尚
原创
2019-11-22 17:12:54 2103浏览

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基础教程

以上就是java中判断字符串是否是中文的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。