WEB开发网
开发学院WEB开发Jsp 截取指定长度的字符串 阅读

截取指定长度的字符串

 2008-01-05 08:58:47 来源:WEB开发网   
核心提示: /** * 截取指定长度的字符串,中文算2个长度,截取指定长度的字符串,若过长,返回xxx...
   /**
   * 截取指定长度的字符串,中文算2个长度,若过长,返回xxx...,否则返回原串
   * @param s Original String.
   * @param max Max length.
   * @return Left part of string.
   */
   public static String left(String s, int max) {
     char[] cs = s.toCharArray();
     int count = 0;
     int last = cs.length;
     for(int i=0; i<cs.length; i++) {
       if(cs[i]>255)
         count+=2;
       else
         count++;
       if(count>max) {
         last = i+1;
         break;
       }
     }
     if(count<=max) // string is short or just the size!
       return s;
     // string is too long:
     max -= 3;
     for(int i=last-1; i>=0; i--) {
       if(cs[i]>255)
         count-=2;
       else
         count--;
       if(count<=max) {
         return s.substring(0, i) + "...";
       }
     }
     return "...";
   }

Tags:截取 指定 长度

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接