码迷,mamicode.com
首页 > 其他好文 > 详细

字符串截取,中文算2个长度,不截取半个中文

时间:2016-11-19 12:00:30      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:i++   array   create   汉字   rar   字符   stat   字节   string   

 

/**

 * <pre>
 * 字符串辅助工具
 * </pre>
 * 
 * @project baidamei
 * @author cevencheng <cevencheng@gmail.com>
 * @create 2012-11-30 下午2:42:56
 */
public class StringTool {

 /**
  *<b>截取指定字节长度的字符串,不能返回半个汉字</b>
  * 例如:
  * 如果网页最多能显示17个汉字,那么 length 则为 34
  * StringTool.getSubString(str, 34);
  * 
  * @param str
  * @param length
  * @return
  */
 public static String getSubString(String str, int length) {
  int count = 0;
  int offset = 0;
  char[] c = str.toCharArray();
  for (int i = 0; i < c.length; i++) {
   if (c[i] > 256) {
    offset = 2;
    count += 2;
   } else {
    offset = 1;
    count++;
   }
   if (count == length) {
    return str.substring(0, i + 1);
   }
   if ((count == length + 1 && offset == 2)) {
    return str.substring(0, i);
   }
  }
  return "";
 }
}

字符串截取,中文算2个长度,不截取半个中文

标签:i++   array   create   汉字   rar   字符   stat   字节   string   

原文地址:http://www.cnblogs.com/tx710057123/p/6079917.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!