前言:
1,split
2,substring / StringUtils.substring
3,StringUtils.substringBefore / StringUtils.substringBeforeLast
4,StringUtils.substringAfter / StringUtils.substringAfterLast
5,StringUtils.substringBetween
正文:
1,split
将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。
//按逗号分割字符串为数组 String[] strs = str.split(",");
2,substring / StringUtils.substring
str.substring(2, 4) :索引值从0开始,该式子代表从索引2截取到索引4(不包含索引4,实际截取的是索引2和3)
str.substring(2) :从索引2截取到末尾(包含末尾值)
str.substring(-2) :从右往左开始数
String str = "abcdefg"; System.out.println(str.substring(2, 4)); //得到cd
StringUtils.substring(str, 2, 4):同上
3,StringUtils.substringBefore / StringUtils.substringBeforeLast
StringUtils.substringBefore(str, char) :获取第一个指定字符前面的字符(指定字符可以是一个或多个字符)
String result = StringUtils.substringBefore("123e45ee6", "e"); System.out.println(result); //得到123
StringUtils.substringBeforeLast(str, char) :获取最后一个指定字符前面的字符
String result = StringUtils.substringBeforeLast("123e45ee6", "e"); System.out.println(result); //得到123e45e
4,StringUtils.substringAfter / StringUtils.substringAfterLast
StringUtils.substringBefore(str, char) :获取第一个指定字符后面的字符
String result = StringUtils.substringAfter("123e45ee6", "e"); System.out.println(result); //得到45ee6
StringUtils.substringAfterLast(str, char) :获取最后一个指定字符后面的字符
String result = StringUtils.substringAfter("123e45ee6", "e"); System.out.println(result); //得到6
5,StringUtils.substringBetween
StringUtils.substringBetween(str,char1, char2) : 获取char1和char2中间的字符
String result = StringUtils.substringAfter("123e45ee6", "12", "e"); System.out.println(result); //得到3
参考博客:
java 字符串截取的几种方式 - 奋斗的小火车 - CSDN博客
https://blog.csdn.net/qq_27603235/article/details/51604584
StringUtils工具类常用方法汇总2(截取、去除空白、包含、查询索引) - |一只想飞的猪| - 博客园
https://www.cnblogs.com/guiblog/p/7986410.html
原文:https://www.cnblogs.com/huashengweilong/p/10961707.html