java判断字符串中是否含有中文字符
2015-05-21 09:38
567 查看
java用的是Unicode 编码char 型变量的范围是0-65535 无符号的值,可以表示 65536个字符,基本上地球上的字符可被全部包括了,实际中,我们希望判断一个字符是不是汉字,或者一个字符串里的字符是否有汉字来满足业务上的需求,String类中有个这样的方法可得到其字符长度length() ,看下面例子,
Java代码
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代码
System.out.println((s1.getBytes().length == s1.length())?"s1无汉字":"s1有汉字");
System.out.println((s2.getBytes().length == s2.length())?"s2无汉字":"s2有汉字");
System.out.println((s3.getBytes().length == s3.length())?"s3无汉字":"s3有汉字");
Java代码
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代码
System.out.println((s1.getBytes().length == s1.length())?"s1无汉字":"s1有汉字");
System.out.println((s2.getBytes().length == s2.length())?"s2无汉字":"s2有汉字");
System.out.println((s3.getBytes().length == s3.length())?"s3无汉字":"s3有汉字");
相关文章推荐
- Java判断一个字符串里面是否含有中文字符
- Java判断字符是否是汉字、字符串中是否有中文。
- php判断字符串是否含有中文字符
- Java判断一个字符串中是否包含中文字符工具类
- java 判断字符串里是否包含中文字符
- 判断一个字符串中是否含有中文字符:
- 判断一个字符串中是否含有中文字符(测试可用)
- java判断字符串是否含有中文
- java判断字符串中是否含有中文
- java中判断字符串中是否有中文字符
- java 判断字符串内是否含有中文
- JAVA读取中文文件,判断string中含有中文字符,判断某一个字符是否为中文字符
- java中用正则表达式判断中文字符串中是否含有英文或者数字
- java中判断字符串中是否有中文字符
- java中用正则表达式判断中文字符串中是否含有英文或者数字
- 判断JAVA字符串中是否有中文字符
- 判断字符串中是否含有中文字符
- php处理字符串,判断是否含有特殊符号,非中文,数字,字符
- java 判断固定的中文字符串 判断字符串中是否包含固定的中文字符 String.indexOf(中文)
- java判断字符串中是否含有中文