您好,登錄后才能下訂單哦!
這篇文章主要介紹“如何在Java中分割String字符串”,在日常操作中,相信很多人在如何在Java中分割String字符串問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何在Java中分割String字符串”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
split 方法的一種聲明為,
public String[] split(String regex)
其中 regex 指的是正則表達式分隔符,我們平時使用單個字符作為分隔符,其實可以看作特殊的正則表達式,特殊之處在于這種表達式只匹配它自身,如 "-" 只匹配 "-", 示例如下:
String string = "86-15003455666"; String[] parts = string.split("-"); String part1 = parts[0]; // 86 String part2 = parts[1]; // 15003455666
split 方法的另一個聲明為:
public String[] split(String regex, int limit)
regex 指的是 正則表達式分隔符,limit 指定的則是分割的份數,舉個例子就明白了
String string = "004-556-42"; String[] parts = string.split("-", 2); // 限定分割兩份 String part1 = parts[0]; // 004 String part2 = parts[1]; // 556-42
而在某些場景下,我們可能想要在結果中保留分隔符,這也是可以做到了設置分隔符與分割后左側的結果相連,
String string = "86-15003455666"; String[] parts = string.split("(?<=-)"); String part1 = parts[0]; // 86- String part2 = parts[1]; // 15003455666
設置分隔符與分割后右側的結果相連,
String string = "86-15003455666"; String[] parts = string.split("(?=-)"); String part1 = parts[0]; // 86 String part2 = parts[1]; // -15003455666
機智的你可能已經發現了,其實分割方法的精妙之處,全在于正則表達式 regex 的設置,正則表達式還是要好好學習的!
在實際的工作場景中,對于要分割的字符串,我們在分割之前,往往需要校驗下它的格式,只有符合我們的要求,我們才對它進行拆分處理。而使用 Pattern 類加 Matcher 類,可以使字符串的格式識別和分割操作一氣呵成:
public class SplitExample { //\d代表數字,+代表出現一次或多次。所以(\\d+)-(\\d+)匹配用"-"相連的兩個數字串 // Pattern 對象是正則表達式的編譯表示 private static Pattern twopart = Pattern.compile("(\\d+)-(\\d+)"); public static void checkString(String s) { // Matcher對象對輸入字符串進行解釋和匹配操作 Matcher m = twopart.matcher(s); if (m.matches()) { //m.group(1) 和 m.group(2) 存儲分割后的子串 System.out.println(s + " matches; first part is " + m.group(1) + ", second part is " + m.group(2) + "."); } else { System.out.println(s + " does not match."); } } public static void main(String[] args) { checkString("123-4567"); // 匹配 checkString("s-tar"); // 字母序列,不匹配 checkString("123-"); // "-"右側的數字串為空,不匹配 checkString("-4567"); // "-"左側的數字串為空,不匹配 checkString("123-4567-890"); // 存在兩個"-",不匹配 } }
上述程序的運行結果為:
到此,關于“如何在Java中分割String字符串”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。