Java控制字元長度

來源:互聯網
上載者:User
private long getStringByteLength(String str,int maxlength){
   if(str==null)
    return 0;
   int tmp_len = maxlength;
  
   if(str.length()<maxlength)
    tmp_len = str.length();
   else if(str.length()>maxlength*2)
    tmp_len = maxlength*2;
  
   char[] tempchar = str.substring(0, tmp_len).toCharArray();

   int intVariable = 0;
   String s1 = null;
   for(int i=0;i<tempchar.length && intVariable<=maxlength;i++){
    s1 = String.valueOf(tempchar[i]);
    intVariable += s1.getBytes().length;
   }
   s1= null;
   tempchar = null;
   return intVariable;
  }
  public String updateTxt(String txt, int num) {
   if (txt == null)
     return "";
    int initVariable = 0;
    StringBuffer restr = new StringBuffer();
    if (getStringByteLength(txt,num) <= num)
     return txt;

    String s1=null;
    byte[] b;
    char[] tempchar = txt.toCharArray();
    for (int i = 0; (i < tempchar.length && num > initVariable); i++) {
     s1 = String.valueOf(tempchar[i]);
     b = s1.getBytes();
     initVariable += b.length;
     restr.append(tempchar[i]);
    }

    if (num == initVariable || (num == initVariable - 1)) {
     restr.append("...");
    }
    return restr.toString();
  }

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.