参考:Java最全截取字符串方法

1、通过subString()方法来进行字符串截取,

返回字符串中的子字符串,在java中有两种用法
第一种,传递一个参数:

  1. public String substring(int beginIndex)
  2. //该子字符串从指定索引处的字符开始,直到此字符串末尾。

第二种,传递两个参数

  1. public String substring(int beginIndex, int endIndex)
  2. //从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。

案例

  1. public static void main(String[] args) {
  2. String Str = new String("hello wrold");
  3. System.out.print("返回值,从第4位截取到字符串末尾 :" );
  4. System.out.println(Str.substring(4) );
  5. System.out.print("返回值,从第4位截取到第10位 :" );
  6. System.out.println(Str.substring(4, 10) );
  7. }

2、通过StringUtils提供的方法

  1. //与第一种方法效果一样
  2. StringUtils.substring("hello world", 4); // 返回值,从第4位截取到字符串末尾 : o wrold
  3. StringUtils.substring("hello world", 4, 10); // 返回值,从第4位截取到第10位 : o wrol
  4. //截取某个字符串之前的字符
  5. StringUtils.substringBefore("hello world", "l");
  6. //结果是:he 这里是以第一个”l”,为标准。
  7. StringUtils.substringBeforeLast("hello world", "l");
  8. //结果为:hello wor 这里以最后一个“l”为准。
  9. //截取某个字符串之后的字符
  10. StringUtils.substringAfter("hello world", "l");
  11. //结果是:lo world 这里是以第一个”l”,为标准。
  12. StringUtils.substringAfterLast("hello world", "l");
  13. //结果为:d 这里以最后一个“l”为准。
  14. //截取两个字符串之间隔的字符
  15. StringUtils.substringBetween("hello world", "o");
  16. //结果是: w 两个o之间的字符串。
  17. StringUtils.substringBetween("hello world", "l", "r");
  18. //结果是: lo wo 第一个字符“l”与第一个字符“r”之间的字符串
  19. StringUtils.substringsBetween("hello world", "l", "r");
  20. //结果是:数组 [lo wo] 第一个字符“l”与第一个字符“r”之间的字符串,以数组形式返回。

其他案例

去除首和尾后的字符串

  1. String arr="[12,23,43]";
  2. String substring = arr.substring(1, arr.length()-1);
  3. log.info(substring);

通过split()切割字符串,返回结果为字符串数组

  1. String oldStr = "China,Japan,美国,俄罗斯";
  2. String[] strs = oldStr.split(",");//根据,切分字符串
  3. for(int i = 0;i < strs.length; i++){
  4. System.out.println(strs[i]);
  5. }