判断字符串长度是否超过指定的长度

private int maxLength=2000;//字节长度不能超过2000

private String validateStr(String str){
      if(StringUtils.isNotBlank(str)){
       StringBuffer sb=new StringBuffer(str);

     if(sb.length()>maxLength/2){
         String string=sb.toString();
         if(string.replaceAll("[^\\x00-\\xff]","**").length()>maxLength){
            int start=maxLength/2;
            int dbLength=sb.substring(0,start).replaceAll("[^\\x00-\\xff]","**").length();
       for(;start<sb.length();start++){
         dbLength+=sb.substring(start,start+1).replaceAll("[^\x00-\xff]","**").length();
       if(dbLength>maxLength){
           break;
           }
         sb.setLength(start);
       }
       }
      }
        return sb.toString();
       }
     return str;
}

猜你喜欢

转载自dongxylove.iteye.com/blog/2285423