在做一个新闻的东西。对中文新闻标题的长度控制很郁闷!
如:“一二三四五六七八九十”,我现在要把过长的部分用“...”来省略。
我是这样做的:
String title = “一二三四五六七八九十”;
String dealtitle;
if(title.length()>10)
dealtitle = title.subString(0,10)+"...";
else
dealtitle = title;得出“一二三四五..."
<a href="news.jsp" title=<%=title%>><%=dealtitle%></a>
是能实现,可是当我在后台修改了数据库的title后,如加长了title:“一二三四五六七八九十十一士寺”后,并不能得到“一二三四五..."
如:“一二三四五六七八九十”,我现在要把过长的部分用“...”来省略。
我是这样做的:
String title = “一二三四五六七八九十”;
String dealtitle;
if(title.length()>10)
dealtitle = title.subString(0,10)+"...";
else
dealtitle = title;得出“一二三四五..."
<a href="news.jsp" title=<%=title%>><%=dealtitle%></a>
是能实现,可是当我在后台修改了数据库的title后,如加长了title:“一二三四五六七八九十十一士寺”后,并不能得到“一二三四五..."
解决方案 »
- 求一段javascript代码!
- 请教一个JSF的标识符名称的问题
- 这个系统 是用什么技术做的? GIS?
- 急急急急急!!!ant对项目进行打包后,JSP文件中的中文变成乱码
- [hibernate]错误,Could not find a getter for cities
- 开发Struts遇到了奇怪的问题,请大家帮助看一下 在线等--立即给分!
- ****柯灵、各位高手进:*****你上次说的关闭浏览器同时让session失效的问题解决了吗?
- 哪位大哥能给我一个XMLHTTP完整的例子
- JSP 急????????
- 还是关于jcreate的javadoc配置
- 找 JSP 兼职开发人员 , 如果有兴趣加QQ 66177364
- JAVA取字符串个数问题
应改为:
dealtitle = title.subString(0,5)+"...";
而且,两次结果都是这个,不会是"一二三四五..."吧。
dealtitle = title.subString(0,10)+"...";
截取了"一"到"十"。
应该是这样吧。
混在一起的话也是截取5位,substring截取的是字符个数,而不是字节数~~!
写数据库编码和读数据库编码保持一致才能读取正确,只有读取正确才能截断正确,楼主不妨在截断前做些编码转化测试.
* 将字符串截短,取前n个字符,英文算半个字符。
* @param orignalString 原字符串
* @param length 长度
* @param chopedString 超过部分的表示字符串
* @return 截取的字符串
*/
public static String chop(String orignalString,int length,String chopedString) {
if (orignalString==null||orignalString.length()==0) {
return orignalString;
}
orignalString=orignalString.replaceAll(" "," ");
if (orignalString.length()<length) {
return orignalString;
}
StringBuffer buffer=new StringBuffer(length);
length=length*2;
int count=0;
int stringLength=orignalString.length();
int i=0;
for (;count<length&&i<stringLength;i++) {
char c=orignalString.charAt(i);
if (c<'\u00ff') {
count++;
} else {
count+=2;
}
buffer.append(c);
}
if (i<stringLength) {
buffer.append(chopedString);
}
return buffer.toString();
}