Java 精确截取字符串
2011-12-20 10:28 myphoebe myphoebe 的博客
本文主要介绍了
Java 精确截取字符串,取得字符串前面指定长度字符函数。
AD:
Java 精确截取字符串,取得字符串前面指定长度字符函数
用
java 取得字符串的前面部分内容的函数 contentStr =
contenttemp.substring(0, 150);其中要保证最大长度不能超过字符串的长度。下面是我
的实现部分代码,以及网上搜索的相关代码:
1.
/*
2.
* content 内容过长可能会导致 xml 文件过大,加载太慢。
3.
* 但从 seo 的角度考虑全部输出有利于搜索引擎,但一般情况下内容也不会太多
4.
* 为防止空格换行 css 无法控制撑大页面,用正则表达式替换掉空格,所以截取前面 100 个字
符
,页面显示的内容多少用 css 控制
5.
6.
*zdz 的作品,流风的作品
7.
*/
8.
//str.trim().replaceAll("\\s+"," ");
9.
String contenttemp = rs.getString(contentName).trim().replaceAll(
"\\s+
"
,
""
);
10.
//NpfDebug.print(contenttemp.length());
11.
if
(contenttemp.length()>
100
){
//如果长度大于 100 则截取
12.
contenttemp = contenttemp.substring(
0
,
100
);
13.
//NpfDebug.print("contenttemp.length()>100 ? "+contenttemp.length()
+"\n"+contentStr);
14. }
15. rsbody.append(beforCONTENT);
16. rsbody.append(contenttemp);
17. rsbody.append(endCONTENT);
开发中经常遇到,字符串过长,无法完全显示的问题
这时候就需要截取我们所需要的长度,后面显示省略号或其他字符。
由于中文字符占两个字节,而英文字符占用一个字节,所以,单纯地判断字符数,效
果往往不尽如人意
下面的方法通过判断字符的类型来进行截取,效果还算可以:)
如果大家有其他的解决方法欢迎贴出来,共同学习:)
1.
private
String str;
2.
private
int
counterOfDoubleByte;
3.
private
byte
b[];