如何判断一个字符串中是否含有汉字或汉字标点(即双字节字符)
2013-06-14 23:28
651 查看
如何判断一个字符串中是否含有汉字或汉字标点(即双字节字符) .
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+"汉字!");
}
}
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+"汉字!");
}
}
相关文章推荐
- Oracle中如何判断一个字符串是否含有汉字
- oracle中如何判断一个字符串是否含有汉字
- 如何判断一个字符串是否仅由数字or仅由数字英文字符or仅由汉字组成
- oracle中如何判断一个字符串是否含有汉字
- 如何判断一个字符串中是否含有中文
- 判断一个字符串中是否含有汉字
- c++ boost判断一个字符串中是否含有汉字的代码
- 判断一个字符是否为汉字的最佳方法 字数,字符,字节统计
- 判断一个字符串中是否含有中文字符:
- c c++怎么判断一个字符串中是否含有汉字
- c语言:判断一个字符串中是否含有字符C
- c c++怎么判断一个字符串中是否含有汉字
- 判断一个字符串是否含有相同字符
- 如何判断一个数组中是否包含一个字符或字符串
- 在不同数据库中如何判断一个字符串内是否含有中文?
- Java判断一个字符串里面是否含有中文字符
- 如何判断一个字符串是否含有中文
- java中如何判断一个字符串数组中是否包含一个字符
- 如何判断一个字符串是否由相同的字符组成
- 判断一个字符串里是否含有某段字符?怎么截取一段字符?