JAVA 截取字符串的三种方法 subString,StringUtils,split
Posted 明天的明天 永远的永远 未知的一切 我与你一起承担 ??
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA 截取字符串的三种方法 subString,StringUtils,split相关的知识,希望对你有一定的参考价值。
JAVA 截取字符串的三种方法 subString,StringUtils,split
主要有以下几种方法:
1、通过subString()方法来进行字符串截取(最常用)
2、通过StringUtils提供的方法
3、split()+正则表达式来进行截取
1、通过subString()方法来进行字符串截取,返回字符串中的子字符串,在java中有两种用法
第一种,传递一个参数:
public String substring(int beginIndex) //该子字符串从指定索引处的字符开始,直到此字符串末尾。public String substring(int beginIndex) //该子字符串从指定索引处的字符开始,直到此字符串末尾。
第二种,传递两个参数:
public String substring(int beginIndex, int endIndex) //从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。
//参数说明:beginIndex -- 起始索引(包括)、endIndex -- 结束索引(不包括)。
示例代码:
public static void main(String[] args) String Str = new String("hello wrold"); System.out.print("返回值,从第4位截取到字符串末尾 :" ); System.out.println(Str.substring(4) ); System.out.print("返回值,从第4位截取到第10位 :" ); System.out.println(Str.substring(4, 10) );
运行结果
返回值,从第4位截取到字符串末尾 : o wrold
返回值,从第4位截取到第10位 : o wrol
2、通过StringUtils提供的方法
//与第一种方法效果一样 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”之间的字符串,以数组形式返回。
用StringUtils需要导入common-lang3包
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.12.0</version> </dependency>
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
java 字符串截取的三种方法
1.split()+正则表达式来进行截取。 将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。 String str = "abc,12,3yy98,0"; String[] strs=str.split(","); for(int i=0,len=strs.length;i<len;i++){ System.out.println(strs[i].toString()); } 运行结果: abc 12 3yy98 0 2.通过subString()方法来进行字符串截取。 subString通过不同的参数来提供不同的截取方式 2.1只传一个参数 例如: String sb = "bbbdsajjds"; sb.substring(2); 将字符串从索引号为2开始截取,一直到字符串末尾。(索引值从0开始); 2.2传入2个索引值 String sb = "bbbdsajjds"; sb.substring(2, 4); 从索引号2开始到索引好4结束(并且不包含索引4截取在内,也就是说实际截取的是2和3号字符); 运行结果如下: bdsajjds bd 3.通过StringUtils提供的方法 StringUtils.substringBefore(“dskeabcee”, “e”); /结果是:dsk/ 这里是以第一个”e”,为标准。 StringUtils.substringBeforeLast(“dskeabcee”, “e”) 结果为:dskeabce 这里以最后一个“e”为准。
以上是关于JAVA 截取字符串的三种方法 subString,StringUtils,split的主要内容,如果未能解决你的问题,请参考以下文章