如何用两个分隔符分割字符串?

时间:2012-09-26 08:20:16

标签: java regex string split

我知道您可以使用myString.split("something")拆分字符串。但我不知道如何用两个分隔符分割字符串。

示例:

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

我需要这样的东西:

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

它的regularExpression是什么?

4 个答案:

答案 0 :(得分:30)

使用此:

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

答案 1 :(得分:9)

如果我必须使用两个子串进行拆分,我该怎么做:

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);

用first替换第二个分隔符的所有实例,并用first分割。

注意:使用replaceAll可以使用delimiter2的正则表达式。因此,您应该将delimiter2的所有匹配项替换为与delimiter1的正则表达式匹配的字符串。

答案 2 :(得分:7)

您可以使用此

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

正则表达式 \ W + --->它将根据非单词字符拆分字符串。

答案 3 :(得分:5)

试试这个

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

答案是一系列

[aa, bb, cc]

{2}匹配过程角色的两个字符。那是=或+(转义) |匹配任何一方

我在java中转义\所以正则表达式实际上是={2}|\+{2}