java 中判断是否为 汉字.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1. public boolean vd(String str){ 2. char[] chars=str.toCharArray(); boolean isGB2312=false; for(int i=0;ichars.length;i++){ byte[] bytes=(+chars[i]).getBytes(); if(bytes.length==2){ int[] ints=new int[2]; ints[0]=bytes[0] 0xff; ints[1]=bytes[1] 0xff; 11. if(ints[0]=0x81 ints[0]=0xFE ints[1]=0x40 ints[1]=0xFE){ isGB2312=true; break; 14. } 15. } 16. } 17. return isGB2312; 18.} 首先要 import java.util.regex.Pattern 和 java.util.regex.Matcher 这两个包,接下来是代码 Java 代码 1. public boolean isNumeric(String str) 2. { 3. Pattern pattern = Ppile(”[0-9]*”); 4. Matcher isNum = pattern.matcher(str); if( !isNum.matches() ) { return false; 7. } 8. return true; 9. } 10. 11.java.lang.Character.isDigit(ch[0]) 另一种 Java 代码 public static void main(String[] args) { int count = 0; String regEx = [\\u4e00-\\u9fa5]; //System.out.println(regEx); String str = 中文 fdas ; //System.out.println(str); Pattern p = Ppile(regEx); Matcher m = p.matcher(str); while (m.find()) { for (int i = 0; i = m.groupCount(); i++) { count = count + 1; 12. } 13. } 14. System.out.println(共有 + count + 个 ); 15. } 判断 java String 中是否有汉字的方法 java 用的是 Unicode 编码 char 型变量的范围是 0-65535 无符号的值,可以表示 65536 个字符,基本上地球上的字符可被全部包括了,实际中,我们希望判断一个字符是不是汉字,或者一个字符串里的字符是否有汉字来满足业务上的需 求,String 类中有个这样的方法可得到其字符长度 length() ,看下面例子, Java 代码 String String s1 s2 = = 我是中国人; imchinese; 3. 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 就把每个字符都按双字节编码,如果都是单字节的字符就按单字节编码 于是按照以上的规律,结合一位 QQ 昵称 ?G 茶?I 珠海 兄的提示由以下解决方法,就是判断字符串的长度和字符字节的长度是否相同来判断是否有双字节的字符 Java 代码 1. System.out.println((s1.getBytes().length == s1.length())?s1 无 汉字:s1 有汉字); 2. System.out.println((s2.getBytes().length == s2.length())?s2 无 汉字:s2 有汉字); 3. System.out.println((s3.getBytes().length == s3.length())?s3 无 汉字:s3 有汉字); OUTPUT: s1 有汉字 s2 无汉字 s3 有汉字 // 且慢,这样诚然可以判断出来一个串中是否有双字节编码的字符,但是要精确判断是否有汉字就有些麻烦了,我们知道还有许多其他国家的字

文档评论(0)

mph + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体上海谭台科技有限公司
IP属地湖北
统一社会信用代码/组织机构代码
91310115MA7CY11Y3K

1亿VIP精品文档

相关文档