簡體   English   中英

如何用兩個定界符分割字符串?

[英]How can I split a string by two delimiters?

我知道您可以使用myString.split("something")分割字符串。 但是我不知道如何用兩個定界符來分割字符串。

例:

mySring = "abc==abc++abc==bc++abc";

我需要這樣的東西:

myString.split("==|++")

它的正則表達式是什么?

用這個 :

 myString.split("(==)|(\\+\\+)")

如果必須使用兩個子字符串進行拆分,我將如何處理:

String mainString = "This is a dummy string with both_spaces_and_underscores!"
String delimiter1 = " ";
String delimiter2 = "_";
mainString = mainString.replaceAll(delimiter2, delimiter1);
String[] split_string = mainString.split(delimiter1);

將第一個定界符的所有第二個實例替換為第一個,然后將第一個定界符拆分。

注意:使用replaceAll允許您將regexp用於delimiter2 因此,您實際上應該用一些與delimiter1的regexp匹配的字符串替換delimiter2所有匹配項。

你可以用這個

        mySring = "abc==abc++abc==bc++abc";
        String[] splitString = myString.split("\\W+");

正則表達式\\ W + --->它將根據非單詞字符分割字符串。

嘗試這個

String str = "aa==bb++cc";
String[] split = str.split("={2}|\\+{2}");
System.out.println(Arrays.toString(split));

答案是一個數組

[aa, bb, cc]

{2}與前一個字符匹配。 即=或+(轉義)。 匹配任一側

我在Java中轉義了\\,所以正則表達式實際上是={2}|\\+{2}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM