background image

Java 精确截取字符串

2011-12-20 10:28 myphoebe myphoebe 的博客 

我要评论

 

 (0)

   

 字号:

T

 | 

T

本文主要介绍了

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[];