<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    vickzhu

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      151 隨筆 :: 0 文章 :: 34 評論 :: 0 Trackbacks
    在頁面中顯示某字段時,字段值過長會導致頁面樣式錯亂,這時候我們需要對值進行截取,當截取值時會碰到以下問題:
    1、如果按字符截取會導致中英文顯示的長度不一
    2、如果按字節截取可能會導致最后一個中文截成兩部分
    以下代碼是在網上獲取并經過改造而成,能夠很好的解決上面兩個問題
        /**
         * 根據指定字節數截取字符串,當指定處為中文第一個字節時少截取一個字符,當長度大于指定截取長度時,截取后在字符串末尾追加指定字符串<br/>
         * 這里添加了字符串的編碼,因為頁面的編碼不同,字符串所占字節也不同
         *
         * @param str 待截取字符串,如果為null或者"",則立即返回str
         * @param length 需要截取的長度
         * @param endStr 截取后末尾追加的字符串
         * @param charset 待截取字符串的編碼
         * @return
         */
        public String subStringByByte(String str, int length, String endStr, String charset) {
            if (str == null || "".equals(str.trim()) || length <= 0) {
                return str;
            }
            try {
                int strlen = str.getBytes(charset).length;// 這里要和頁面的編碼相關
                if (strlen < length) return str;
                Pattern p = Pattern.compile("^[""u4e00-""u9fa5]$");
                int i = 0, j = 0;
                int sublength = length - ((endStr == null) ? 0 : endStr.getBytes(charset).length);
                for (char c : str.toCharArray()) {
                    Matcher m = p.matcher(String.valueOf(c));
                    i += m.find() ? 2 : 1;
                    ++j;
                    if (i == sublength) break;
                    if (i > sublength) {
                        --j;
                        break;
                    }
                }
                return str.substring(0, j) + endStr;
            } catch (UnsupportedEncodingException e) {
                return str;
            }
        }
    posted on 2010-12-14 10:49 筱 筱 閱讀(351) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 99久久国产精品免费一区二区| 亚洲爆乳无码精品AAA片蜜桃| h在线看免费视频网站男男| 精品国产一区二区三区免费看| 中中文字幕亚洲无线码| 免费下载成人电影| 色婷五月综激情亚洲综合| 免费看国产成年无码AV片| 国产精品亚洲午夜一区二区三区| 免费中文熟妇在线影片| 亚洲综合国产成人丁香五月激情 | 亚洲午夜无码久久久久小说| 香蕉97超级碰碰碰免费公| 国产精品亚洲精品观看不卡| 性一交一乱一视频免费看| 亚洲精品宾馆在线精品酒店| 又大又粗又爽a级毛片免费看| jizz免费在线影视观看网站| 亚洲激情中文字幕| 美女裸身网站免费看免费网站 | 亚洲国产午夜精品理论片| 99re热免费精品视频观看| 色天使亚洲综合一区二区| 亚洲成AV人片在线观看| aa级一级天堂片免费观看| 边摸边吃奶边做爽免费视频网站 | 好看的亚洲黄色经典| 91制片厂制作传媒免费版樱花| 亚洲不卡1卡2卡三卡2021麻豆| 午夜无遮挡羞羞漫画免费| 一级一黄在线观看视频免费| 亚洲av日韩av不卡在线观看| 国产福利在线观看免费第一福利| 男男gay做爽爽免费视频| 久久久久久亚洲av成人无码国产| 永久免费毛片在线播放| 久久成人18免费网站| 亚洲第一成人在线| 国产成人无码综合亚洲日韩| 成人最新午夜免费视频| 两个人看的www免费视频|