欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Java中怎么精確截取字符串

今天就跟大家聊聊有關(guān)Java中怎么精確截取字符串,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比淮陽(yáng)網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式淮陽(yáng)網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋淮陽(yáng)地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴。

Java精確截取字符串,取得字符串前面指定長(zhǎng)度字符函數(shù)

用java取得字符串的前面部分內(nèi)容的函數(shù)contentStr = contenttemp.substring(0, 150);其中要保證***長(zhǎng)度不能超過字符串的長(zhǎng)度。下面是我的實(shí)現(xiàn)部分代碼,以及網(wǎng)上搜索的相關(guān)代碼:

/*  * content內(nèi)容過長(zhǎng)可能會(huì)導(dǎo)致xml文件過大,加載太慢。  * 但從seo的角度考慮全部輸出有利于搜索引擎,但一般情況下內(nèi)容也不會(huì)太多  * 為防止空格換行css無(wú)法控制撐大頁(yè)面,用正則表達(dá)式替換掉空格,所以截取前面100個(gè)字符,頁(yè)面顯示的內(nèi)容多少用css控制    *zdz的作品,流風(fēng)的作品  */ //str.trim().replaceAll("\\s+"," ");   String contenttemp = rs.getString(contentName).trim().replaceAll("\\s+","");  //NpfDebug.print(contenttemp.length());  if(contenttemp.length()>100){//如果長(zhǎng)度大于100則截取   contenttemp = contenttemp.substring(0, 100);   //NpfDebug.print("contenttemp.length()>100 ? "+contenttemp.length()+"\n"+contentStr);  }  rsbody.append(beforCONTENT);  rsbody.append(contenttemp);  rsbody.append(endCONTENT);

開發(fā)中經(jīng)常遇到,字符串過長(zhǎng),無(wú)法完全顯示的問題

這時(shí)候就需要截取我們所需要的長(zhǎng)度,后面顯示省略號(hào)或其他字符。

由于中文字符占兩個(gè)字節(jié),而英文字符占用一個(gè)字節(jié),所以,單純地判斷字符數(shù),效果往往不盡如人意

下面的方法通過判斷字符的類型來進(jìn)行截取,效果還算可以:)

如果大家有其他的解決方法歡迎貼出來,共同學(xué)習(xí):)

private String str;  private int counterOfDoubleByte;  private byte b[];  /**  * 設(shè)置需要被限制長(zhǎng)度的字符串  * @param str 需要被限制長(zhǎng)度的字符串  */ public void setLimitLengthString(String str){     this.str = str;  }  /**  * @param len 需要顯示的長(zhǎng)度(<font color="red">注意:長(zhǎng)度是以byte為單位的,一個(gè)漢字是2個(gè)byte</font>)  * @param symbol 用于表示省略的信息的字符,如“...”,“>>>”等。  * @return 返回處理后的字符串  */ public String getLimitLengthString(int len, String symbol) throws UnsupportedEncodingException {     counterOfDoubleByte = 0;     b = str.getBytes("GBK");     if(b.length <= len)       return str;     for(int i = 0; i < len; i++){       if(b[i] < 0)         counterOfDoubleByte++;     }      if(counterOfDoubleByte % 2 == 0)       return new String(b, 0, len, "GBK") + symbol;     else      return new String(b, 0, len - 1, "GBK") + symbol;  }           -------------------     /** *//**      * 按字節(jié)長(zhǎng)度截取字符串      * @param str 將要截取的字符串參數(shù)      * @param toCount 截取的字節(jié)長(zhǎng)度      * @param more 字符串末尾補(bǔ)上的字符串      * @return 返回截取后的字符串      */    public String substring(String str, int toCount, String more) ...{       int reInt = 0;       String reStr = "";       if (str == null)         return "";       char[] tempChar = str.toCharArray();       for (int kk = 0; (kk < tempChar.length && toCount > reInt); kk++) ...{         String s1 = str.valueOf(tempChar[kk]);         byte[] b = s1.getBytes();         reInt += b.length;         reStr += tempChar[kk];       }       if (toCount == reInt || (toCount == reInt - 1))         reStr += more;       return reStr;     }     =================     /**       * 取字符串的前toCount個(gè)字符       *       * @param str 被處理字符串       * @param toCount 截取長(zhǎng)度       * @param more 后綴字符串       * @version 2004.11.24       * @author zhulx       * @return String       */     public static String substring(String str, int toCount,String more)      {        int reInt = 0;        String reStr = "";        if (str == null)          return "";        char[] tempChar = str.toCharArray();        for (int kk = 0; (kk < tempChar.length && toCount > reInt); kk++) {          String s1 = str.valueOf(tempChar[kk]);          byte[] b = s1.getBytes();          reInt += b.length;          reStr += tempChar[kk];        }        if (toCount == reInt || (toCount == reInt - 1))          reStr += more;        return reStr;      }

得到字符串真實(shí)長(zhǎng)度和取固定長(zhǎng)度的字符串函數(shù)

// 截取固定長(zhǎng)度子字符串 sSource為字符串iLen為長(zhǎng)度   function getInterceptedStr(sSource, iLen)   {       if(sSource.replace(/[^\x00-\xff]/g,"xx").length <= iLen)       {           return sSource;       }       var ELIDED = "";              var str = "";       var l = 0;       var schar;       for(var i=0; schar=sSource.charAt(i); i++)       {           str += schar;           l += (schar.match(/[^\x00-\xff]/) != null ? 2 : 1);           if(l >= iLen - ELIDED.length)           {               break;           }       }       str += ELIDED;              return str;   }

看完上述內(nèi)容,你們對(duì)Java中怎么精確截取字符串有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

分享文章:Java中怎么精確截取字符串
網(wǎng)址分享:http://aaarwkj.com/article2/gpjeoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、網(wǎng)站建設(shè)全網(wǎng)營(yíng)銷推廣、用戶體驗(yàn)網(wǎng)站內(nèi)鏈、移動(dòng)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
午夜性色在线视频福利| 日韩激情av中文字幕| 亚洲av日韩高清在线观看| 中文字幕亚洲精品乱码在线| 中文字幕人成乱码在线观看| 国外男女性生活在线视频| 国产精品黄色av一区二区| 麻豆人妻一区二区三区| 午夜视频在线观看免费版| 精品国产成人一区二区| 七十二式性日韩视频| 日日躁夜夜躁久久狠狠躁| 亚洲成年人黄片在线播放| 91内射视频在线播放| 九九热最新视频免费看| 日韩高清视频 一区二区| 99热这里有精品久久| 欧美高清一区二区在线观看| 免费无码不卡av一区二区| 亚洲国产熟女导航网站视频| 亚州欧美精品一区二区| 欧美在线免费黄片视频| 人妻熟女一区二区aⅴ在线视频| 国产成人大片中文字幕在线| 亚洲av在线观看午夜| 日韩高清伦理一区二区| 国产三级精品三级专区| 91精品产综合久久香蕉| 亚洲国产av国产av| 日韩视频播放一区二区| 国产剧情在线观看网站| 亚洲精品区免费观看av| av中文字幕国产精品| 亚洲va在线va天堂va在线| 麻豆色视频在线观看免费| 成人作爱视频免费播放| 亚洲一区二区精品999| 高清日本一区二区三区不卡片 | 亚洲一区二区三区在线播| 亚洲av蜜臀在线播放| 亚洲成熟中老妇女视频|