明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
  博客园  :: 首页  :: 管理

JAVA 截取字符串的三种方法 subString,StringUtils,split

Posted on 2023-05-22 14:53  且行且思  阅读(16610)  评论(0编辑  收藏  举报

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