[转帖]  Java精确截取字符串_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
3
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3595 | 回复: 2   主题: [转帖]  Java精确截取字符串        下一篇 
522080330
注册用户
等级:少校
经验:1478
发帖:79
精华:20
注册:2013-1-18
状态:离线
发送短消息息给522080330 加好友    发送短消息息给522080330 发消息
发表于: IP:您无权察看 2013-1-22 10:26:19 | [全部帖] [楼主帖] 楼主

Java精确截取字符串,取得字符串前面指定长度字符函数
用java取得字符串的前面部分内容的函数contentStr = contenttemp.substring(0, 150);其中要保证最大长度不能超过字符串的长度。下面是我的实现部分代码,以及网上搜索的相关代码:

  1. //str.trim().replaceAll("\\s+"," ");   
  2. String contenttemp = rs.getString(contentName).trim().replaceAll("\\s+","");  
  3. //NpfDebug.print(contenttemp.length());  
  4. if(contenttemp.length()>100){//如果长度大于100则截取  
  5.  contenttemp = contenttemp.substring(0, 100);  
  6.  //NpfDebug.print("contenttemp.length()>100 ? "+contenttemp.length()+"\n"+contentStr);  
  7. }  
  8. rsbody.append(beforCONTENT);  
  9. rsbody.append(contenttemp);  
  10. rsbody.append(endCONTENT);  




赞(0)    操作        顶端 
522080330
注册用户
等级:少校
经验:1478
发帖:79
精华:20
注册:2013-1-18
状态:离线
发送短消息息给522080330 加好友    发送短消息息给522080330 发消息
发表于: IP:您无权察看 2013-1-22 10:27:10 | [全部帖] [楼主帖] 2  楼

???????????????????????
??????????????????????????????
?????????????????????????????????????????????
????????????????????????????
????????????????????????

  • private String str;  
  • private int counterOfDoubleByte;  
  • private byte b[];  
  • public void setLimitLengthString(String str){  
  •  this.str = str;  
  • }  
  • 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;  
  • }  
  •    
  •    
  •    
  • ???????????????????  
  •    
  •  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;  
  •  }  
  •    
  • ?????????????????  
  •    
  •  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;  
  •  } 


  • 赞(0)    操作        顶端 
    522080330
    注册用户
    等级:少校
    经验:1478
    发帖:79
    精华:20
    注册:2013-1-18
    状态:离线
    发送短消息息给522080330 加好友    发送短消息息给522080330 发消息
    发表于: IP:您无权察看 2013-1-22 10:27:47 | [全部帖] [楼主帖] 3  楼

    ?????????????????????

  • // ?????????? sSource????iLen???   
  • 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;   


  • 赞(0)    操作        顶端 
    总帖数
    3
    每页帖数
    101/1页1
    返回列表
    发新帖子
    请输入验证码: 点击刷新验证码
    您需要登录后才可以回帖 登录 | 注册
    技术讨论