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

Java中的split使用方法詳解

 更新時間:2023年10月07日 10:56:41   作者:cloneme01  
這篇文章主要介紹了Java中的split使用方法詳解,Java 中 String 的 split 方法可以將字符串根據(jù)指定的間隔進行切割,經(jīng)過切割后得到的返回值是一個字符串數(shù)組,需要的朋友可以參考下

前言

在工作中一直使用split進行字串的分隔,但是始終沒有認真研究過該方法,今天在使用該方法時遇到了一些問題,特進行學習記錄。

遇到的問題

在使用“|”作為字串的分隔符的時候,分隔結果和預期不一樣。

方法定義

// 從方法的實現(xiàn)上, 可以了解split的參數(shù)可以是正則表達式、任意字符、符號、數(shù)字、字符串等。

public String[] split(String regex) {
}

重點關注

因為split方法也支持正則表達式,而正則表達式存在特殊字符串的情況,這樣就出現(xiàn)了上述問題,所以需要注意下表中的特殊字符。

特殊字符

特殊字符說明
$匹配輸入字符串的結尾位置。如果設置了 RegExp 對象的 Multiline 屬性,則 $ 也匹配 ‘\n’ 或 ‘\r’。要匹配 $ 字符本身,請使用 \$。
( )標記一個子表達式的開始和結束位置。子表達式可以獲取供以后使用。要匹配這些字符,請使用 和和。
*匹配前面的子表達式零次或多次。要匹配 * 字符,請使用 \*。
+匹配前面的子表達式一次或多次。要匹配 + 字符,請使用 \+。
.匹配除換行符 \n之外的任何單字符。要匹配 .,請使用 \.。
[標記一個中括號表達式的開始。要匹配 [,請使用 \[。
?匹配前面的子表達式零次或一次,或指明一個非貪婪限定符。要匹配 ? 字符,請使用 \?。
\將下一個字符標記為或特殊字符、或原義字符、或向后引用、或八進制轉義符。例如, ‘n’ 匹配字符 ‘n’。‘\n’ 匹配換行符。序列 ‘\\’ 匹配 ‘\’,而 ‘\(’ 則匹配 ‘(’。
^匹配輸入字符串的開始位置,除非在方括號表達式中使用,此時它表示不接受該字符集合。要匹配 ^ 字符本身,請使用 \^。
{標記限定符表達式的開始。要匹配 {,請使用 \{。
|指明兩項之間的一個選擇。要匹配 |,請使用 \|。

示例代碼

// 1.如何使用|進行分隔?
String[] a = "a|b|c".split("\\|"); // 執(zhí)行結果: [a, b, c]
// 2.如何使用.進行分隔?
String[] b = "a.b.c".split("\\."); // 執(zhí)行結果: [a, b, c]
// 3.如何使用正則表達式進行分隔?
// 正則表達式:\d+表示一個或多個數(shù)字
String[] c = "a11b222c3333d".split("\\d+"); // 執(zhí)行結果: [a, b, c, d]
// 4.如何使用多個不同的分隔符進行分隔?
// 分隔符可以有多個字符, 它們使用|分隔成左右兩部分, 左右兩邊表達式之間是"或"的關系, 匹配左邊或者右邊.
String[] d = "a,b#c@d%%e".split(",|#|@|%%"); // 執(zhí)行結果: [a, b, c, d, e]

高級進階

limit默認是0,regex表示正則表達式,limit用來參數(shù)控制分隔的次數(shù)。

public String[] split(String regex, int limit) {
}
String[] e = "a@b@c@d@e@".split("@", -1);  // 執(zhí)行結果: [a, b, c, d, e, ]
String[] f = "a@b@c@d@e@".split("@", 0);   // 執(zhí)行結果: [a, b, c, d, e]
String[] g = "a@b@c@d@e@".split("@", 1);   // 執(zhí)行結果: [a@b@c@d@e@]
String[] h = "a@b@c@d@e@".split("@", 2);   // 執(zhí)行結果: [a, b@c@d@e@]
String[] i = "a@b@c@d@e@".split("@", 100); // 執(zhí)行結果: [a, b, c, d, e, ]
String[] j = "@@@".split("@", 100); // 執(zhí)行結果: [, , , ]
String[] k = "bo:and:fo".split("o", 100); // 執(zhí)行結果: [b, :and:f, ]
String[] l = "boo:and:foo".split("o", 100); // 執(zhí)行結果: [b, , :and:f, , ]
String[] m = "booo:and:fooo".split("o", 0); // 執(zhí)行結果: [b, , , :and:f]

1. 字符串開頭出現(xiàn)分隔符,其余部分正常分隔,開頭會分隔出一個空字符串。

2. 分隔符緊挨著,其余部分正常分隔,分隔符之間也會分隔出一個空字符串。

3. 字符串末尾出現(xiàn)分隔符,其余部分正常分隔,末尾會分隔出一個空字符串,是否丟棄末尾的空格需要判斷l(xiāng)imit的值:

  • 如果 limit < 0,匹配到多少次,就分隔多少次,數(shù)組可以是任何長度,結尾的空字符串不會丟棄;
  • 如果 limit = 0,匹配到多少次,就分隔多少次,數(shù)組可以是任何長度,并且結尾空字符串將被丟棄;
  • 如果 limit = 1,不進行分隔,直接將字串變成長度為1的數(shù)組;
  • 如果 limit > 1,(從左到右)最多分隔 n - 1 次,數(shù)組的長度將不會大于n, 結尾的空字符串不會丟棄。

到此這篇關于Java中的split使用方法詳解的文章就介紹到這了,更多相關split使用方法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Springboot實現(xiàn)根據(jù)條件切換注入不同實現(xiàn)類的示例代碼

    Springboot實現(xiàn)根據(jù)條件切換注入不同實現(xiàn)類的示例代碼

    這篇文章主要介紹了Springboot實現(xiàn)根據(jù)條件切換注入不同實現(xiàn)類的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • java實現(xiàn)簡易五子棋游戲

    java實現(xiàn)簡易五子棋游戲

    這篇文章主要為大家詳細介紹了java實現(xiàn)簡易五子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • Java Web學習教程之Hibernate And MyBatis的理解

    Java Web學習教程之Hibernate And MyBatis的理解

    這篇文章主要給大家介紹了關于Java Web學習教程之Hibernate And MyBatis的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們來一起學習學習吧。
    2018-04-04
  • pdf2swf+flexpapers實現(xiàn)類似百度文庫pdf在線閱讀

    pdf2swf+flexpapers實現(xiàn)類似百度文庫pdf在線閱讀

    這篇文章主要介紹了pdf2swf+flexpapers實現(xiàn)類似百度文庫pdf在線閱讀的相關資料,需要的朋友可以參考下
    2014-10-10
  • Java pom.xml parent引用報錯問題解決方案

    Java pom.xml parent引用報錯問題解決方案

    這篇文章主要介紹了Java pom.xml parent引用報錯問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • 配置tjxCold(idea效率插件)的模版教程詳解

    配置tjxCold(idea效率插件)的模版教程詳解

    這篇文章主要介紹了配置tjxCold(idea效率插件)的模版教程詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • SpringBoot的跨域注解@CrossOrigin解析

    SpringBoot的跨域注解@CrossOrigin解析

    這篇文章主要介紹了SpringBoot的跨域注解@CrossOrigin解析,Spring Framework 4.2 GA為CORS提供了第一類支持,使您比通常的基于過濾器的解決方案更容易和更強大地配置它,所以springMVC的版本要在4.2或以上版本才支持@CrossOrigin,需要的朋友可以參考下
    2023-12-12
  • 淺談javap命令拆解字節(jié)碼文件

    淺談javap命令拆解字節(jié)碼文件

    這篇文章主要介紹了拆解字節(jié)碼文件javap命令,對反編譯感興趣的同學可以參考下
    2021-04-04
  • Fluent Mybatis 批量更新的使用

    Fluent Mybatis 批量更新的使用

    本文主要介紹了Fluent Mybatis 批量更新的使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • java 同步器SynchronousQueue詳解及實例

    java 同步器SynchronousQueue詳解及實例

    這篇文章主要介紹了java 同步器SynchronousQueue詳解及實例的相關資料,需要的朋友可以參考下
    2017-05-05

最新評論

原平市| 株洲市| 潍坊市| 增城市| 手机| 斗六市| 墨江| 博兴县| 屏东市| 赤水市| 竹溪县| 吴川市| 石门县| 涟源市| 莱西市| 迁西县| 贡山| 佛山市| 固阳县| 乌兰县| 江陵县| 邵武市| 常熟市| 阆中市| 正镶白旗| 呈贡县| 乾安县| 宕昌县| 陇南市| 喀喇沁旗| 太和县| 北流市| 绵阳市| 科技| 绍兴县| 博客| 梨树县| 阳东县| 达拉特旗| 盐边县| 元阳县|