最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
java中截取指定字符串长度函数
时间:2011-12-22 编辑:简简单单 来源:一聚教程网
/*
* content内容过长可能会导致xml文件过大,加载太慢。
* 但从seo的角度考虑全部输出有利于搜索引擎,但一般情况下内容也不会太多
* 为防止空格换行css无法控制撑大页面,用正则表达式替换掉空格,所以截取前面100个字符,页面显示的内容多少用css控制
*zdz的作品,流风的作品
*/
//str.trim().replaceAll("\s+"," ");
String contenttemp = rs.getString(contentName).trim().replaceAll("\s+","");
//NpfDebug.print(contenttemp.length());
if(contenttemp.length()>100){//如果长度大于100则截取
contenttemp = contenttemp.substring(0, 100);
//NpfDebug.print("contenttemp.length()>100 ? "+contenttemp.length()+"n"+contentStr);
}
rsbody.append(beforCONTENT);
rsbody.append(contenttemp);
rsbody.append(endCONTENT);
----------------------
开发中经常遇到,字符串过长,无法完全显示的问题
这时候就需要截取我们所需要的长度,后面显示省略号或其他字符。
由于中文字符占两个字节,而英文字符占用一个字节,所以,单纯地判断字符数,效果往往不尽如人意
下面的方法通过判断字符的类型来进行截取,效果还算可以:)
如果大家有其他的解决方法欢迎贴出来,共同学习:)
**********************************************************************
代码如下 | 复制代码 |
private String str; if(counterOfDoubleByte % 2 == 0)
------------------- /** *//** ================= /** |
------------------------
得到字符串真实长度和取固定长度的字符串函数
// 截取固定长度子字符串 sSource为字符串iLen为长度
代码如下 | 复制代码 |
function getInterceptedStr(sSource, iLen) { if(sSource.replace(/[^x00-xff]/g,"xx").length <= iLen) { return sSource; } var ELIDED = ""; var str = ""; var l = 0; var schar; for(var i=0; schar=sSource.charAt(i); i++) { str += schar; l += (schar.match(/[^x00-xff]/) != null ? 2 : 1); if(l >= iLen - ELIDED.length) { break; } } str += ELIDED; return str; } |
相关文章
- SpringBoot测试配置属性与web启动环境解析 10-24
- vue中将el-switch值true、false改为number类型的1和0解析 10-24
- Vue中的路由配置项meta使用解读 10-24
- SpringBoot自定义bean绑定解析 10-24
- SpringBoot常用计量与bean属性校验和进制数据转换规则解析 10-24
- 工厂方法在Spring框架中的运用介绍 10-24