如何判断一个字符串中是否含有汉字或汉字标点(即双字节字符)
如何判断一个字符串中是否含有汉字或汉字标点(即双字节字符) .
public class CharTest {
public static void main(String[] args)
{
String inputText="hello世界!中国china!! ";
int count=0;
int chCharCount=0;
char[] charArray=inputText.toCharArray();
for(int i=0;i<charArray.length;i++)
{
char cn=charArray[i];
byte[] bytes=(String.valueOf(cn)).getBytes();
if(bytes.length==1)
{
//英文字符
int ascii=bytes[0];
}
if(bytes.length==2)
{ //双字节字符
count++;
int hightByte=256+bytes[0];
int lowByte=256+bytes[1];
int ascii=(256*hightByte+lowByte)-256*256;
if(ascii>=-20319&&ascii<-10247)
{ //中文字符
chCharCount++;
}
}
}
System.out.println("共有"+count+"个双字节字符!");
System.out.println("共有"+chCharCount+"汉字!");
}
}