程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 按雙字節長度來取String

按雙字節長度來取String

編輯:關於JAVA
   /*
 
     * String.valueOf(arr[i]).matches("[\u4e00-\u9fa5]") 只是漢字
 
     * String.valueOf(arr[i]).matches("[^x00-xff]") 雙字節(包括漢字)
 
     */
 
    public static String getStrBylength(String str , int len)
 
    {
 
        if(null == str)
 
            return "";
 
        int sl = str.getBytes().length;
 
        if(sl>len*2)
 
        {
 
            StringBuffer sb = new StringBuffer();
 
            char[] arr = str.toCharArray();
 
            for (int i = 0,j=0; i<arr.length && j<len*2; i++) {
 
                if (String.valueOf(arr[i]).matches("[^x00-xff]")) { 
 
                    j+=2;
 
                } else {
 
                    j++;
 
                }
 
                if(j==len*2-1 && String.valueOf(arr[i]).matches("[^x00-xff]"))
 
                {
 
                }
 
                else
 
                {
 
                    sb.append(arr[i]);
 
                }            
 
            }
             return sb.toString()+"...";
 
        }
 
        else
 
        {
 
            return str;
 
        }
     }
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved