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

java中可以使用Unicode编码来判断字符串是否是中文,中文的Unicode编码范围为“0x4e00-0x9fa5”或十进制“19968-40869”。java中可以通过循环遍历字符串与Unicode编码比较判断字符是否是中文。

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

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判断字符串是否为中文:

此代码由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架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/35663
0

发表评论