提交時間: Oct 17, 2004 11:34:11 PM
開發中經常遇到,字符串過長,無法完全顯示的問題
這時候就需要截取我們所需要的長度,後面顯示省略號或其他字符。
由於中文字符佔兩個字節,而英文字符佔用一個字節,所以,單純地判斷字符數,效果往往不盡如人意
下面的方法通過判斷字符的類型來進行截取,效果還算可以:)
如果大家有其他的解決方法歡迎貼出來,共同學習:)
**********************************************************************
private String str;
private int counterOfDoubleByte;
private byte b[];
/**
* 設置需要被限制長度的字符串
* @param str 需要被限制長度的字符串
*/
public void setLimitLengthString(String str){
this.str = str;
}
/**
* @param len 需要顯示的長度(注意:長度是以byte爲單位的,一個漢字是2個byte)
* @param symbol 用於表示省略的信息的字符,如“...”,“>>>”等。
* @return 返回處理後的字符串
*/
public String getLimitLengthString(int len, String symbol) throws UnsupportedEncodingException {
counterOfDoubleByte = 0;
b = str.getBytes("gb2312");
if(b.length <= len)
return str;
for(int i = 0; i