1、通过subString()方法来进行字符串截取(最常用)
2、通过StringUtils提供的方法
3、split()+正则表达式来进行截取
1、通过subString()方法来进行字符串截取,返回字符串中的子字符串。
public String substring(int beginIndex) 结果 : o wrold
//该子字符串从指定索引处的字符开始,直到此字符串末尾。
public String substring(int beginIndex, int endIndex) 结果 : o wrol
//从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。
2、通过StringUtils提供的方法(需要导入依赖)
<!-- Maven -->
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
// gradle
implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.12.0'
//与第一种方法效果一样
StringUtils.substring("hello world", 4); // 返回值,从第4位截取到字符串末尾 : o wrold
StringUtils.substring("hello world", 4, 10); // 返回值,从第4位截取到第10位 : o wrol
//截取某个字符串之前的字符
StringUtils.substringBefore("hello world", "l");
//结果是:he 这里是以第一个”l”,为标准。
StringUtils.substringBeforeLast("hello world", "l");
//结果为:hello wor 这里以最后一个“l”为准。
//截取某个字符串之后的字符
StringUtils.substringAfter("hello world", "l");
//结果是:lo world 这里是以第一个”l”,为标准。
StringUtils.substringAfterLast("hello world", "l");
//结果为:d 这里以最后一个“l”为准。
//截取两个字符串之间隔的字符
StringUtils.substringBetween("hello world", "o");
//结果是: w 两个o之间的字符串。
StringUtils.substringBetween("hello world", "l", "r");
//结果是: lo wo 第一个字符“l”与第一个字符“r”之间的字符串
StringUtils.substringsBetween("hello world", "l", "r");
//结果是:数组 [lo wo] 第一个字符“l”与第一个字符“r”之间的字符串,以数组形式返回。
3、split()+正则表达式来进行截取
将字符串按照分割符截取,以数组形式返回
String str = "hello, name, 12345, 6789";
String[] strs=str.split(",");
for(int i=0,len=strs.length;i<len;i++){
System.out.println(strs[i].toString());
}
结果:
hello
name
12345
6789
https://blog.youkuaiyun.com/whitek387/article/details/122948670