您好,登錄后才能下訂單哦!
本篇內容主要講解“Java中的String.split()如何使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Java中的String.split()如何使用”吧!
首先是帶有兩個參數的split方法:
作用:
將以給定正則表達式(regex)的字符串分隔開來
第一個參數是傳入字符類型的分隔符,如 “,” 等(可以是任何字符串)
第二個參數傳入整型的limit,代表的是將此字符串分割成n部分(這里的n就是limit).
返回值:
此方法返回的數組包含此字符串的每個子字符串,這些子字符串以匹配到的正則表達式(就是以輸入的第一個參數regex)作為結束,或由字符串的結尾作為結束。
注意事項:
數組中的子字符串按照它們在這個字符串中出現的順序排列。
如果輸入的regex不匹配字符串里面的任何字符,那么結果數組只有一個元素,即這個字符串。(就是若字符串里面沒有出現輸入的regex參數)
如果在字符串的開頭有一個正數的匹配(就是字符串開頭有>0個的regex分隔符),那么在結果數組的開頭會包含一個空的前導子字符串.
public class test { public static void main(String[] args) { String str = ",,1,2,3,4"; // 注意這里字符串開頭就匹配到了逗號 String[] s = str.split(",",10);// 這里先取10,后文介紹第二個參數 for (String string : s) { System.out.println("子字符串"+string); } System.out.println(s.length); } }
運行結果:
第一個逗號前面會有出現一個空的子字符串
limit參數控制應用模式的次數,因此會影響結果數組的長度。(這里的意思就是limit的取值控制了結果數組的長度)
對以上解讀如下: (1) 如果limit輸入的是一個正數, 那么該模式將最多應用limit - 1次(就是說只會用輸入的regex去字符串里面匹配limit-1次),數組的長度將不大于limit,并且數組的最后一個條目將包含最后一個匹配的分隔符之外的所有輸入(就是說他分隔的模式是從前逐個往后的).給個代碼便于大家理解:
public class test { public static void main(String[] args) { String str = "1,2,3,4"; String[] s = str.split(",",2);//這里輸入limit為2,即分成2部分 for (String string : s) { System.out.println("子字符串"+string); } System.out.println(s.length); } }
運行結果:
字符串被分隔成2個子字符串,分隔模式是從前往后的
(2) 如果輸入的limit為零,則模式將被應用盡可能多的次數,結果數組可以有任何長度,而尾部的空字符串將被丟棄. (就是匹配字符串里面所有的regex分隔符),關于空字符串被丟棄,代碼如下:
public class test { public static void main(String[] args) { String str = "1,2,3,4,,,";// 這里后面逗號之間的空字符串將被丟棄 String[] s = str.split(",",0); for (String string : s) { System.out.println("子字符串"+string); } System.out.println(s.length); } }
運行結果:
尾部的空字符串將不會出現在結果數組里
(3) 如果輸入limit的值為負數,則模式將被應用盡可能多的次數,數組可以有任何長度。(尾部的空字符串也不會被丟失噢)
public class test { public static void main(String[] args) { String str = ",1,2,3,4,"; String[] s = str.split(",",-1);//limit值為負數 for (String string : s) { System.out.println("子字符串"+string); } System.out.println(s.length); } }
運行結果:
字符串的尾部空字符串不會被丟失
接下來只帶有一個參數的split方法就容易了,就是默認limit的值為0.
該方法的工作原理就是用給定regex參數和一個limit參數默認為0來調用兩個參數的split方法。因此,結果數組中不包含尾隨的空字符串。
到此,相信大家對“Java中的String.split()如何使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。