<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)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲午夜精品一区二区公牛电影院| 亚洲自偷自偷偷色无码中文| 亚洲成人福利在线| 777爽死你无码免费看一二区| 亚洲永久无码3D动漫一区| 国产一级黄片儿免费看| 中文字幕亚洲激情| 你好老叔电影观看免费| 亚洲乱码国产一区网址| 一个人免费观看日本www视频| 亚洲成网777777国产精品| 一本久久A久久免费精品不卡| 亚洲午夜久久久久妓女影院| 国产精品免费一区二区三区四区| 亚洲精品无码不卡在线播放HE| 国产一精品一av一免费爽爽| 亚洲激情视频在线观看| 四虎在线免费视频| 亚洲午夜精品久久久久久app| 在线免费观看韩国a视频| 一区二区在线视频免费观看| 久久久久国产成人精品亚洲午夜 | 亚洲一级毛片在线观| 免费看国产精品3a黄的视频 | 亚洲色图.com| 无码人妻久久一区二区三区免费丨 | 亚洲人成影院在线| 最近最好的中文字幕2019免费| 亚洲AV色欲色欲WWW| 中文字幕第一页亚洲| 最近中文字幕完整免费视频ww| 日韩亚洲国产高清免费视频| 四虎永久免费影院| 国产精品白浆在线观看免费| 久久精品国产亚洲AV蜜臀色欲| 全部免费毛片免费播放| a视频在线免费观看| 亚洲婷婷天堂在线综合| 日韩亚洲国产二区| 亚洲免费一级视频| 日韩在线观看视频免费|