前两篇博文简单分享了一下数字工具类,现在说说字符串工具类。
相信大家都自己封装过或者用过番石榴封装的字符串,但是有没有可以智能截取,比如说“截取整数第二个到倒数第二个“的字符串。你是否还需要自己写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)