最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java的split方法使用詳解

 更新時(shí)間:2015年07月02日 09:06:38   投稿:hebedich  
這篇文章主要詳細(xì)介紹了Java的split方法使用說明,十分的細(xì)致全面,有需要的小伙伴可以參考下。

相信大家都經(jīng)常使用String 的split方法,但是大家有沒有遇到下面的這種情況:

大家想想下面的代碼執(zhí)行結(jié)果是什么

public static void main(String[] args) {
    // TODO Auto-generated method stub

    String str1 = "a,b,c,,,a";
    String str2 = "a,b,c,,,";
    String str3 = "a,b,c, , ,";
    String[] s1 = str1.split(",");
    String[] s2 = str2.split(",");
    String[] s3 = str3.split(",");
     System.out.println("str1長(zhǎng)度:"+s1.length);
    System.out.println("str2長(zhǎng)度:"+s2.length);
    System.out.println("str3長(zhǎng)度:"+s3.length);
}

執(zhí)行結(jié)果:

為什么會(huì)出現(xiàn)這樣的結(jié)果呢,查找API發(fā)現(xiàn)了解決方法

解決方法:  

    通過查看API我們發(fā)現(xiàn)我們常用的split方法默認(rèn)傳遞的是0,現(xiàn)在解決str2輸出空的解決方法是傳遞的第二個(gè)參數(shù)為負(fù)數(shù),即可

  public static void main(String[] args) {
    // TODO Auto-generated method stub

    String str1 = "a,b,c,,,a";
    String str2 = "a,b,c,,,";
    String str3 = "a,b,c, , ,";
    String[] s1 = str1.split(",");
    String[] s2 = str2.split(",",-1);
    String[] s3 = str3.split(",",-1);
    
    System.out.println("str1長(zhǎng)度:"+s1.length);
    System.out.println("str2長(zhǎng)度:"+s2.length);
    System.out.println("str3長(zhǎng)度:"+s3.length);
  }

經(jīng)查找API發(fā)現(xiàn)在String類中,存在兩個(gè)split重載方法

1.public String[] split(String regex)

根據(jù)給定正則表達(dá)式的匹配拆分此字符串。

該方法的作用就像是使用給定的表達(dá)式和限制參數(shù) 0 來調(diào)用兩參數(shù) split 方法。因此,所得數(shù)組中不包括結(jié)尾空字符串。

例如,字符串 "boo:and:foo" 使用這些表達(dá)式可生成以下結(jié)果:

Regex 結(jié)果

: { "boo", "and", "foo" }
o { "b", "", ":and:f" }

參數(shù):
    regex - 定界正則表達(dá)式
返回:
字符串?dāng)?shù)組,它是根據(jù)給定正則表達(dá)式的匹配拆分此字符串確定的
拋出:
PatternSyntaxException - 如果正則表達(dá)式的語法無效

2.public String[] split(String regex,int limit)

根據(jù)匹配給定的正則表達(dá)式來拆分此字符串。

此方法返回的數(shù)組包含此字符串的子字符串,每個(gè)子字符串都由另一個(gè)匹配給定表達(dá)式的子字符串終止,或者由此字符串末尾終止。數(shù)組中的子字符串按它們?cè)诖俗址谐霈F(xiàn)的順序排列。如果表達(dá)式不匹配輸入的任何部分,那么所得數(shù)組只具有一個(gè)元素,即此字符串。

limit 參數(shù)控制模式應(yīng)用的次數(shù),因此影響所得數(shù)組的長(zhǎng)度。如果該限制 n 大于 0,則模式將被最多應(yīng)用 n - 1 次,數(shù)組的長(zhǎng)度將不會(huì)大于 n,而且數(shù)組的最后一項(xiàng)將包含所有超出最后匹配的定界符的輸入。如果 n 為非正,那么模式將被應(yīng)用盡可能多的次數(shù),而且數(shù)組可以是任何長(zhǎng)度。如果 n 為 0,那么模式將被應(yīng)用盡可能多的次數(shù),數(shù)組可以是任何長(zhǎng)度,并且結(jié)尾空字符串將被丟棄。

例如,字符串 "boo:and:foo" 使用這些參數(shù)可生成以下結(jié)果:

Regex Limit 結(jié)果

: 2 { "boo", "and:foo" }
: 5 { "boo", "and", "foo" }
: -2 { "boo", "and", "foo" }
o 5 { "b", "", ":and:f", "", "" }
o -2 { "b", "", ":and:f", "", "" }
o 0 { "b", "", ":and:f" } 

 
調(diào)用此方法的 str.split(regex, n) 形式與以下表達(dá)式產(chǎn)生的結(jié)果完全相同:

    Pattern.compile(regex).split(str, n)

參數(shù):

regex - 定界正則表達(dá)式
limit - 結(jié)果閾值,如上所述

返回:
字符串?dāng)?shù)組,它是根據(jù)給定正則表達(dá)式的匹配拆分此字符串確定的

拋出:
PatternSyntaxException - 如果正則表達(dá)式的語法無效

相關(guān)文章

  • Java中的@Accessors使用詳解

    Java中的@Accessors使用詳解

    這篇文章主要介紹了Java中的@Accessors使用詳解,@RequiredArgsConstructor是Lombok的一個(gè)注解,簡(jiǎn)化了我們對(duì)setter和getter方法操作,它可以作用在類上,也可以作用在類的單個(gè)屬性上,需要的朋友可以參考下
    2024-01-01
  • java面試JDK8?new?ReentrantLock()加鎖流程解析

    java面試JDK8?new?ReentrantLock()加鎖流程解析

    這篇文章主要為大家介紹了java面試JDK8?new?ReentrantLock()加鎖流程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • 完整的logback配置示例ELK整合包含生成json日志

    完整的logback配置示例ELK整合包含生成json日志

    這篇文章主要為大家介紹了完整的logback配置示例ELK整合包含生成json日志,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • 基于Jpa中ManyToMany和OneToMany的雙向控制

    基于Jpa中ManyToMany和OneToMany的雙向控制

    這篇文章主要介紹了Jpa中ManyToMany和OneToMany的雙向控制,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • IDEA2022中部署Tomcat Web項(xiàng)目的流程分析

    IDEA2022中部署Tomcat Web項(xiàng)目的流程分析

    這篇文章主要介紹了IDEA2022中部署Tomcat Web項(xiàng)目,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • SpringBoot集成本地緩存性能之王Caffeine示例詳解

    SpringBoot集成本地緩存性能之王Caffeine示例詳解

    這篇文章主要為大家介紹了SpringBoot集成本地緩存性能之王Caffeine的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • SpringMVC返回的ResponseEntity出現(xiàn)亂碼及解決

    SpringMVC返回的ResponseEntity出現(xiàn)亂碼及解決

    這篇文章主要介紹了SpringMVC返回的ResponseEntity出現(xiàn)亂碼及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 擴(kuò)展Hibernate使用自定義數(shù)據(jù)庫(kù)連接池的方法

    擴(kuò)展Hibernate使用自定義數(shù)據(jù)庫(kù)連接池的方法

    這篇文章主要介紹了擴(kuò)展Hibernate使用自定義數(shù)據(jù)庫(kù)連接池的方法,涉及Hibernate數(shù)據(jù)庫(kù)操作擴(kuò)展的相關(guān)技巧,需要的朋友可以參考下
    2016-03-03
  • Java用BigDecimal類解決Double類型精度丟失的問題

    Java用BigDecimal類解決Double類型精度丟失的問題

    這篇文章主要介紹了Java用BigDecimal類解決Double類型精度丟失的問題,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-12-12
  • SpringBoot jar包大小優(yōu)化問題及解決

    SpringBoot jar包大小優(yōu)化問題及解決

    這篇文章主要介紹了SpringBoot jar包大小優(yōu)化問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11

最新評(píng)論

韩城市| 长岛县| 丽江市| 崇信县| 泉州市| 沁源县| 福泉市| 大宁县| 承德市| 云安县| 冕宁县| 汝城县| 五河县| 株洲市| 盐亭县| 佛山市| 湄潭县| 崇信县| 东安县| 饶阳县| 大连市| 芒康县| 乐至县| 庆安县| 阜城县| 奎屯市| 南部县| 庆元县| 朝阳县| 张掖市| 昌吉市| 龙泉市| 彩票| 英山县| 奉化市| 张家口市| 尼木县| 长葛市| 黄骅市| 南城县| 沙田区|