Java常用字符串工具类字符串智能截取(3)

  

前两篇博文简单分享了一下数字工具类,现在说说字符串工具类。

  

相信大家都自己封装过或者用过番石榴封装的字符串,但是有没有可以智能截取,比如说“截取整数第二个到倒数第二个“的字符串。你是否还需要自己写str.substring (1, str.length() 2)。如果是的话,请继续往下看吧。暂时还未见过可以反向截取字符串的。一般都是子串(str,开始,结束)或者substring (str, len);而这里的参数都必须是正数,否则就会报错。所以为了改善这些方法,我简单封装了一下substring这个方法,提供了4种最常用的方法:
  

  
      <李> subStrStart (String str, int),正向截取李   <李> subStrEnd (String str, int开始),反向截取李   <李> subStr (String str, int长度),支持双向截取,length> 0正向截取,& lt; 0,反向截取李   <李> subStr (String str, int, int),支持双向截取,首先,length> 0正向截取,& lt; 0,反向截取。
      李   
  

具体代码如下:
  

     /* *   *从头开始截取   *   * @param str字符串   * @param结束结束位置   * @return   */公共静态字符串subStrStart (String str, int) {   返回字符串的子串(str 0结束);   }/* *   *从尾开始截取   *   * @param str字符串   * @param开始开始位置   * @return   */公共静态字符串subStrEnd (String str, int) {   返回字符串的子串(str, str.length()实体法,str.length ());   }/* *   *截取字符串(支持正向,反向截取)& lt; br/比;   *   * @param str待截取的字符串   * @param长度长度,在=0时,从头开始向后截取长度长度的字符串;& lt; 0时,从尾开始向前截取长度长度的字符串   * @return返回截取的字符串   * @throws RuntimeException   */公共静态字符串的子串(String str, int长度)抛出RuntimeException {   如果(str==null) {   把新NullPointerException(“字符串为空");   }   int len=str.length ();   如果(len=0) {   返回字符串的子串(str 0长度);   其他}{   返回字符串的子串(str, len-Math.abs(长度),len);   }   }/* *   *截取字符串(支持正向,反向选择)& lt; br/比;   *   * @param str待截取的字符串   * @param开始起始索引,祝辞=0时,从开始开始截取;& lt; 0时,从长度- | |开始开始截取   * @param结束结束索引,祝辞=0时,从结束结束截取;& lt; 0时,从长度- | |结束结束截取   * @return返回截取的字符串   * @throws RuntimeException   */公共静态字符串的子串(String str, int, int)抛出RuntimeException {   如果(str==null) {   把新NullPointerException (" ");   }   int len=str.length ();   int s=0;//记录起始索引   int e=0;//记录结尾索引   如果(len之前      

写一个主方法来测试一下吧:
  

        公共静态void main (String [] args) {   字符串str=?2345中的”;   System.out.println (“- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -”);   system . out。println(“正向截取长度为4,结果:\ n”+ StringsUtil。subStr (str, 4));   system . out。println(“反向截取长度为4,结果:\ n”+ StringsUtil。subStr (str, 4));   System.out.println (“- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -”);   system . out。println(“正向截取到第4个字符的位置,结果:\ n”+ StringsUtil。subStrStart (str, 4));   system . out。println(“反向截取到第4个字符的位置,结果:\ n”+ StringsUtil。subStrEnd (str, 4));   System.out.println (“- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -”);   system . out。println(“从第2个截取到第9个,结果:\ n”+ StringsUtil。subStr (str, 1、9));   system . out。println(“从第2个截取到倒数第1个,结果:\ n”+ StringsUtil。subStr (str, 1,1));   system . out。println(“从倒数第4个开始截取,结果:\ n”+ StringsUtil。subStr (str 4 0));   system . out。println(“从倒数第4个开始截取,结果:\ n”+ StringsUtil。subStr (str 4 10));   }   

Java常用字符串工具类字符串智能截取(3)