posts - 4,  comments - 0,  trackbacks - 0
把一个长的字符串变成短的字符串,并且在每一行末尾加入 \n


/**
     * 计算字符串的 ascii 码长度
     * 
     * 
@param s
     * 
@return
     
*/
    
public int strLength(String s) {
        
int result = 0;
        
for (int i = 0; i < s.length(); i++) {
            
if (isDoublebyteWord(s.substring(i, i + 1))) {
                result 
+= 2;
            } 
else {
                result 
+= 1;
            }
        }
        
return result;
    }

    
/**
     * 判断是否双字节字符
     * 
     * 
@param str
     * 
@return
     
*/
    
public boolean isDoublebyteWord(String str) {
        System.out.println(str);
        
byte[] b;
        
int temp;
        
for (int i = 0; i < str.length(); i++) {
            b 
= str.substring(i, i + 1).getBytes();
            temp 
= b[0];
            
if (temp > 0) {
                
return false;
            }
        }
        
return true;
    }

    
/**
     * 公割字符串
     * 
@param s 字符串
     * 
@param len 一小段的长度
     * 
@return
     
*/
    
public static String changeString(String s, int len) {
        
        LongStringToShort lts
=new LongStringToShort();
        
        String result 
= "";
        len 
= (int) len / 8;
        
int totalLen = lts.strLength(s);
        
// 错误调用
        if (s.length() < 1 || len < 1)
            
return "";
        
// 只有一小段,不分割
        if (totalLen < len)
            
return s;

        
// 计算该字符串应该分几段
        int num = (int) totalLen / len;
        
if (((float) totalLen / len) > num)
            num
++;
        System.out.println(
"应该分" + num + "" + len);
        
int sl = 0;
        
for (int i = 0; i < s.length(); i++) {
            String temp 
= s.substring(i, i + 1);
            
if (lts.isDoublebyteWord(temp)) {
                sl 
+= 2;
            } 
else {
                sl 
+= 1;
            }
            result 
+= temp;

            
if (sl > (len - 1)) {
                System.out.println(
"hello");
                sl 
= 0;
                result 
+= "\n";
                
continue;
            }
        }
        
return result;
    }    
posted on 2008-05-04 15:41 jiang 阅读(2160) 评论(0)  编辑  收藏 所属分类: java

只有注册用户登录后才能发表评论。


网站导航: