国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java的split方法使用詳解

Java的split方法使用詳解

2019-12-25 13:27hebedich JAVA教程

這篇文章主要詳細介紹了Java的split方法使用說明,十分的細致全面,有需要的小伙伴可以參考下。

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

大家想想下面的代碼執行結果是什么

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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長度:"+s1.length);
    System.out.println("str2長度:"+s2.length);
    System.out.println("str3長度:"+s3.length);
}

執行結果:

Java的split方法使用詳解

為什么會出現這樣的結果呢,查找API發現了解決方法

解決方法: 

    通過查看API我們發現我們常用的split方法默認傳遞的是0,現在解決str2輸出空的解決方法是傳遞的第二個參數為負數,即可

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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長度:"+s1.length);
  System.out.println("str2長度:"+s2.length);
  System.out.println("str3長度:"+s3.length);
}

Java的split方法使用詳解

經查找API發現在String類中,存在兩個split重載方法

1.public String[] split(String regex)

根據給定正則表達式的匹配拆分此字符串。

該方法的作用就像是使用給定的表達式和限制參數 0 來調用兩參數 split 方法。因此,所得數組中不包括結尾空字符串。

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

Regex 結果

?
1
2
: { "boo", "and", "foo" }
o { "b", "", ":and:f" }

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

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

根據匹配給定的正則表達式來拆分此字符串。

此方法返回的數組包含此字符串的子字符串,每個子字符串都由另一個匹配給定表達式的子字符串終止,或者由此字符串末尾終止。數組中的子字符串按它們在此字符串中出現的順序排列。如果表達式不匹配輸入的任何部分,那么所得數組只具有一個元素,即此字符串。

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

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

Regex Limit 結果

?
1
2
3
4
5
6
: 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" }

 
調用此方法的 str.split(regex, n) 形式與以下表達式產生的結果完全相同:

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

參數:

regex - 定界正則表達式
limit - 結果閾值,如上所述

返回:
字符串數組,它是根據給定正則表達式的匹配拆分此字符串確定的

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人精品一区二区三区中文字幕 | 日韩电影在线免费观看 | 台湾av片| 99久久久久久 | 欧美电影网站 | h网站在线观看 | 欧美日韩综合在线 | 激情久久av一区av二区av三区 | 少妇精品久久久久久久久久 | 看黄免费 | 九九香蕉视频 | 国精品一区 | 高清视频一区二区三区 | 日韩有码在线观看 | 羞羞羞网站 | 日韩精品一区二区三区在线观看视频网站 | av一级久久 | 久久免费黄色网址 | 久久大香| 成年人在线免费观看网站 | 色综合天天综合网国产成人综合天 | 国产一级毛片国语一级 | 亚洲福利一区二区 | 午夜成人免费影院 | 国产区视频在线观看 | 午夜精品久久久久久久久久久久久 | 国产精品久久久久久久久久久久冷 | 天堂在线视频 | 欧美人成在线 | 亚洲中午字幕 | 中文字幕视频一区 | 亚洲黄色激情 | 久草在线| 精品在线一区二区 | 在线免费国产 | 欧美精品在线一区二区三区 | 成人网址在线观看 | 国产伦理一区 | 成人在线免费观看 | 国产三级在线观看 | 奇米影视7777 |