在一个字符串中怎么判断是英文还是中文? 编写一个截取字符串的函数,输入一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截半个,如:输入“我ABC的”,6输出要为“我ABC”,而不是“我ABC”+半个“的”字 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用正则表达式可以判断一个字符串是中文String test="汉字";if(test.matches("[\\u4E00-\\u9FA5]+")) System.out.println("chinese chars"); System.out.println(str.length()==str.getBytes().length?"English":"Contains Chinese"); static public String isChinese(String chinese) {String ucode = "";String strChinese = "";String strASC = "";try {int clen;clen = chinese.length(); //取字符串长度String utemp = "";char[] strBuffer = chinese.toCharArray(); //将字符串转化为字符数组int l; //每个字符转换后的二进制字符串的长度int s;for (int i = 0; i < clen; i++) {s = (int) strBuffer[i]; //取一个字符utemp = Integer.toHexString(s).toUpperCase();l = utemp.length();if (l <= 2) { //如果是ASC字符utemp = "00" + utemp;//保存ASC字符到strASCstrASC += chinese.substring(i,i+1);}else{//保存中文字符到strChinesestrChinese += chinese.substring(i,i+1);}ucode = ucode + utemp;}System.err.println(strASC);System.err.println(strChinese);}catch (Exception e) {e.printStackTrace();}return strChinese;}这个函数就可以判断是否为中文字符 http://blog.csdn.net/westwin/archive/2005/01/14/253582.aspx 我有一个笨方法,不知道可否判断最后一个字符如说得第n个字符的byte的最高位(第7位)是否为1如果为1,记count=1那么需要连接下一个byte,然后向前逐个连续查询高位是否是1,count++;直道不为1 或者数组到头了为止。如果count被2整除。那么就可以了如果不被2整除。那么必须把n+1的字符也取进来。 一个Java程序纠错 ,你有能力写10种纠错方案吗? 刚学Java,有两个问题想请教. 有没有统一的录入界面??? 求助:我想做一个要使用扫描仪的java桌面程序,请问需要什么类包? 字符串处理 小弟java新手。现在被一个小问题困扰。希望诸位前辈指教一下 求助:如何用组合键退出无限循环。再线等 。 高手们,求个程序 初学JAVA,问一个简单的布局的问题 如何在一个JDialog上的某个组建为当前焦点? (Swing)JTabbedPane问题~~~~~~ Socket传输Vector,ArrayList,List的问题
String test="汉字";
if(test.matches("[\\u4E00-\\u9FA5]+"))
System.out.println("chinese chars");
String ucode = "";
String strChinese = "";
String strASC = "";
try {
int clen;
clen = chinese.length(); //取字符串长度
String utemp = "";
char[] strBuffer = chinese.toCharArray(); //将字符串转化为字符数组
int l; //每个字符转换后的二进制字符串的长度
int s;for (int i = 0; i < clen; i++) {
s = (int) strBuffer[i]; //取一个字符
utemp = Integer.toHexString(s).toUpperCase();
l = utemp.length();
if (l <= 2) { //如果是ASC字符
utemp = "00" + utemp;
//保存ASC字符到strASC
strASC += chinese.substring(i,i+1);
}else{
//保存中文字符到strChinese
strChinese += chinese.substring(i,i+1);
}
ucode = ucode + utemp;
}
System.err.println(strASC);
System.err.println(strChinese);
}
catch (Exception e) {
e.printStackTrace();
}
return strChinese;}这个函数就可以判断是否为中文字符
如说得第n个字符的byte的最高位(第7位)是否为1
如果为1,记count=1
那么需要连接下一个byte,然后向前逐个连续查询高位是否是1,count++;
直道不为1 或者数组到头了为止。如果count被2整除。那么就可以了
如果不被2整除。那么必须把n+1的字符也取进来。