欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中實(shí)現(xiàn)String字符串分割的3種方法

 更新時(shí)間:2023年05月13日 15:27:06   作者:Smile?sea?breeze  
這篇文章主要介紹了Java中實(shí)現(xiàn)String字符串分割的3種方法,文章底部介紹了JAVA?截取字符串的三種方法subString,StringUtils,split,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下

Java中實(shí)現(xiàn)String字符串分割的3種方法

方法1:split(string) 方法

使用了 split(string) 方法通過(guò)指定分隔符將字符串分割為數(shù)組

public class Test {
    public static void main(String[] args) {
        String a = "1-1-1-1";
        String[] temp;
        String delimiter = "-";// 指定分割字符
        temp = a.split(delimiter);// 分割字符串
        System.out.println(Arrays.toString(temp));//[1, 1, 1, 1]
        for (int i = 0; i < temp.length; i++) { //for 循環(huán)
            System.out.print(temp[i]); //1111
        }
    }
}

[1, 1, 1, 1]
1111

在java.lang包中有String.split()方法,返回是一個(gè)數(shù)組。“.”和“|”都是轉(zhuǎn)義字符,必須得加"“;
如果用“.”作為分隔的話,必須是如下寫法:String.split(”\.“),這樣才能正確的分隔開(kāi),不能用String.split(”.“);
如果用“|”作為分隔的話,必須是如下寫法:String.split(”\|“),這樣才能正確的分隔開(kāi),不能用String.split(”|");

方法2:substring方法

substring(int beginIndex)該子字符串從beginIndex處的字符開(kāi)始,直到此字符串末尾。
substring(int beginIndex, int endIndex)該子字符串從指定的 beginIndex 處開(kāi)始,直到索引 endIndex – 1 處的字符。注意:其它一些語(yǔ)言第二個(gè)參數(shù)往往代表長(zhǎng)度,JAVA不一樣。該子字符串的長(zhǎng)度為 endIndex-beginIndex。

public class Test2 {
    public static void main(String[] args) {
        String a = "1-1-1-1";
        String str1 = a.substring(0,1);
        System.out.println(str1);
        String str2 = a.substring(2,3);
        System.out.println(str2);
        String str3 = a.substring(4,5);
        System.out.println(str3);
        String str4 = a.substring(6);
        System.out.println(str4);
    }
}

1111

方法3:StringTokenizer方法

Java中substring方法可以分解字符串,返回的是原字符串的一個(gè)子字符串。如果要講一個(gè)字符串分解為一個(gè)一個(gè)的單詞或者標(biāo)記,可用StringTokenizer來(lái)解決
String 類的 split 方法,其實(shí)在字符串分割時(shí)可以調(diào)用 StringTokenizer,實(shí)例化一個(gè) StringTokenizer 的對(duì)象,通過(guò) hasMoreTokens() 與 nextToken()進(jìn)行判斷并打印分割后的子字符串。

public class Test {
    public static void main(String[] args) {
        String a = "1-1-1-1";
        StringTokenizer result = new StringTokenizer(a,"-");   // 實(shí)例化對(duì)象,并指向以 - 對(duì) a 進(jìn)行分割
        while(result.hasMoreTokens()){ // 對(duì) result 遍歷并打印子字符串; 
            System.out.println(result.nextToken());
        }
    }
}

1
1
1
1

擴(kuò)展:JAVA 截取字符串的三種方法 subString,StringUtils,split

主要有以下幾種方法:

1、通過(guò)subString()方法來(lái)進(jìn)行字符串截取(最常用)

2、通過(guò)StringUtils提供的方法3

3、split()+正則表達(dá)式來(lái)進(jìn)行截取

1、通過(guò)subString()方法來(lái)進(jìn)行字符串截取,返回字符串中的子字符串,在java中有兩種用法

第一種,傳遞一個(gè)參數(shù):

public String substring(int beginIndex)               
 //該子字符串從指定索引處的字符開(kāi)始,直到此字符串末尾。public String substring(int beginIndex)               
 //該子字符串從指定索引處的字符開(kāi)始,直到此字符串末尾。

第二種,傳遞兩個(gè)參數(shù):

public String substring(int beginIndex, int endIndex)  
//從指定的 beginIndex 處開(kāi)始,直到索引 endIndex - 1 處的字符。因此,該子字符串的長(zhǎng)度為 endIndex-beginIndex。

//參數(shù)說(shuō)明:beginIndex -- 起始索引(包括)、endIndex -- 結(jié)束索引(不包括)。
示例代碼:

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) );
}

運(yùn)行結(jié)果

返回值,從第4位截取到字符串末尾 :   o wrold
返回值,從第4位截取到第10位    :   o wrol

2、通過(guò)StringUtils提供的方法

//與第一種方法效果一樣
StringUtils.substring("hello world", 4);     // 返回值,從第4位截取到字符串末尾 : o wrold
StringUtils.substring("hello world", 4, 10); // 返回值,從第4位截取到第10位    :   o wrol
//截取某個(gè)字符串之前的字符
StringUtils.substringBefore("hello world", "l"); 
//結(jié)果是:he          這里是以第一個(gè)”l”,為標(biāo)準(zhǔn)。
StringUtils.substringBeforeLast("hello world", "l");
//結(jié)果為:hello wor   這里以最后一個(gè)“l(fā)”為準(zhǔn)。
//截取某個(gè)字符串之后的字符
StringUtils.substringAfter("hello world", "l");
//結(jié)果是:lo world   這里是以第一個(gè)”l”,為標(biāo)準(zhǔn)。
StringUtils.substringAfterLast("hello world", "l");
//結(jié)果為:d          這里以最后一個(gè)“l(fā)”為準(zhǔn)。
//截取兩個(gè)字符串之間隔的字符
StringUtils.substringBetween("hello world", "o");    
//結(jié)果是: w   兩個(gè)o之間的字符串。   
StringUtils.substringBetween("hello world", "l", "r"); 
//結(jié)果是: lo wo   第一個(gè)字符“l(fā)”與第一個(gè)字符“r”之間的字符串   
StringUtils.substringsBetween("hello world", "l", "r");
//結(jié)果是:數(shù)組 [lo wo]   第一個(gè)字符“l(fā)”與第一個(gè)字符“r”之間的字符串,以數(shù)組形式返回。

用StringUtils需要導(dǎo)入common-lang3包

<dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.12.0</version>
        </dependency>

3、split()+正則表達(dá)式來(lái)進(jìn)行截取

將字符串按照分割符截取,以數(shù)組形式返回

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());
}

運(yùn)行結(jié)果

hello
name
12345
6789

到此這篇關(guān)于Java中實(shí)現(xiàn)String字符串分割的3種方法的文章就介紹到這了,更多相關(guān)java string字符串分割內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論