java判断是否为汉字 和 是否有汉字
2012-07-04 09:59
309 查看
java判断是否为汉字 和 是否有汉字
2010-06-30 11:51
本文章为转载他人文章
Java代码
publicboolean vd(String str){
char[] chars=str.toCharArray();
boolean isGB2312=false;
for(int i=0;i<chars.length;i++){
byte[] bytes=(""+chars[i]).getBytes();
if(bytes.length==2){
int[] ints=newint[2];
ints[0]=bytes[0]& 0xff;
ints[1]=bytes[1]& 0xff;
if(ints[0]>=0x81 && ints[0]<=0xFE && ints[1]>=0x40 && ints[1]<=0xFE){
isGB2312=true;
break;
}
}
}
return isGB2312;
}
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
这两个包,接下来是代码
判断是否为数字
Java代码
publicboolean isNumeric(String str)
{
Pattern pattern = Pattern.compile(”[0-9]*”);
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ) {
returnfalse;
}
returntrue;
}
java.lang.Character.isDigit(ch[0])
Java代码
publicstaticvoid main(String[] args) {
int count = 0;
String regEx = "[\\u4e00-\\u9fa5]";
//System.out.println(regEx);
String str = "中文fdas ";
//System.out.println(str);
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
while (m.find()) {
for (int i = 0; i <= m.groupCount(); i++) {
count = count + 1;
}
}
System.out.println("共有 " + count + "个 ");
}
-------------------------------------------------------------------
判断java String中是否有汉字的方法
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就把每个字符都按双字节编码,如果都是单字节的字符就按单字节编码
于是按照以上的规律,结合一位QQ昵称 ?G茶?I珠海 兄的提示由以下解决方法,就是判断字符串的长度和字符字节的长度是否相同来判断是否有双字节的字符
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有汉字");
2010-06-30 11:51
本文章为转载他人文章
Java代码
publicboolean vd(String str){
char[] chars=str.toCharArray();
boolean isGB2312=false;
for(int i=0;i<chars.length;i++){
byte[] bytes=(""+chars[i]).getBytes();
if(bytes.length==2){
int[] ints=newint[2];
ints[0]=bytes[0]& 0xff;
ints[1]=bytes[1]& 0xff;
if(ints[0]>=0x81 && ints[0]<=0xFE && ints[1]>=0x40 && ints[1]<=0xFE){
isGB2312=true;
break;
}
}
}
return isGB2312;
}
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
这两个包,接下来是代码
判断是否为数字
Java代码
publicboolean isNumeric(String str)
{
Pattern pattern = Pattern.compile(”[0-9]*”);
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ) {
returnfalse;
}
returntrue;
}
java.lang.Character.isDigit(ch[0])
Java代码
publicstaticvoid main(String[] args) {
int count = 0;
String regEx = "[\\u4e00-\\u9fa5]";
//System.out.println(regEx);
String str = "中文fdas ";
//System.out.println(str);
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
while (m.find()) {
for (int i = 0; i <= m.groupCount(); i++) {
count = count + 1;
}
}
System.out.println("共有 " + count + "个 ");
}
-------------------------------------------------------------------
判断java String中是否有汉字的方法
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就把每个字符都按双字节编码,如果都是单字节的字符就按单字节编码
于是按照以上的规律,结合一位QQ昵称 ?G茶?I珠海 兄的提示由以下解决方法,就是判断字符串的长度和字符字节的长度是否相同来判断是否有双字节的字符
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有汉字");
相关文章推荐
- paip.判断字符是否中文与以及判读是否是汉字uapi python java php
- java判断String是否为汉字
- java判断是否为汉字
- 判断java String中是否有汉字的方法
- JAVA 判断string字符串中是否有汉字
- java判断字符串是否包含汉字
- java 判断字符串中是否包含汉字
- java判断字符串中是否有中文或者汉字的方法
- Java判断字符串中是否包含汉字
- Java判断字符是否是汉字、字符串中是否有中文。
- java 中判断是否为 汉字(转)
- Java代码判断字符串是否为汉字
- java 判断字符串中是否包含汉字
- java 判断字符串中是否包含汉字
- java 中判断是否为 汉字(转)
- java用正则表达式判断字符串中是否仅包含英文字母、数字和汉字 分类: Android JAVA 2015-06-07 21:08 31人阅读 评论(0) 收藏
- java用正则表达式判断字符串中是否仅包含英文字母、数字和汉字
- java用正则表达式判断字符串中是否仅包含英文字母、数字和汉字
- java判断是否为汉字 和 是否有汉字
- java 判断字符串是否包含汉字的方法