站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题用java代码如何区分一个字符串里边有哪些是中文,哪些是英文?

用java代码如何区分一个字符串里边有哪些是中文,哪些是英文?

摘要: 用java代码如何区分一个字符串里边有哪些是中文,哪些是英文?


因为在网页上面显示的字符长度不一样,以至于页面不是很好美观。我自己写了一个标记库,类的实现中不知道这个问题该怎么实现。


将字符分解出来然后判断对应的ANSI码是否大于127


vacuumboy(好好学习,天天向上) 这个括号里的字是怎么加上去的?


区分中英文用正则表达式
String str="daf士大夫里脚手sdfs sd fsf";
str=str.replaceAll("[/u4e00-/u9fa5]*","");
把所有的中文都替换掉


ANSI码好象是管颜色的吧???
应该判断的是ASCII…………


不过我想楼主想要的是按字节截取这个字符串吧
/**
* 按字节长度截取字符串
* @param str 将要截取的字符串参数
* @param toCount 截取的字节长度
* @return 返回截取后的字符串
*/
public String substring(String str, int toCount) {
int reInt = 0;
String reStr = "";
if (str == null)
return "";
char[] tempChar = str.toCharArray();
for (int kk = 0; (kk < tempChar.length && toCount > reInt); kk++) {
String s1 = str.valueOf(tempChar[kk]);
byte[] b = s1.getBytes();
reInt += b.length;
reStr += tempChar[kk];
}

return reStr;
}


lip009(深蓝忧郁)
是我要问的意思,谢谢!
不过,这个东西也存在一点点问题。
比如,调用的时候写
substring("Y呵呵呵哈", 4);
这样的时候,返回的是"Y呵呵",这样的话,字节长度多了一个了.不过,这倒是一个很好的方法.


这个可以控制的,我写的是补齐后半个,总不能截取半个汉字吧..呵呵
当然你可以把最后半个省略掉


揭贴了LZ


↑返回目录
前一篇: 字符串速度上的问题??
后一篇: JSP/JAVABEAN+TOMCAT4.0.5+MYSQL组合建站总结