Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1350391
  • 博文数量: 205
  • 博客积分: 6732
  • 博客等级: 准将
  • 技术积分: 2835
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-04 17:59
文章分类

全部博文(205)

文章存档

2016年(1)

2015年(10)

2014年(1)

2013年(39)

2012年(23)

2011年(27)

2010年(21)

2009年(55)

2008年(28)

我的朋友

分类: Java

2009-05-05 17:14:58

    /*
     * 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;
        }
    }

阅读(671) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~