我知道您可以使用myString.split("something")
拆分字符串。但我不知道如何用两个分隔符分割字符串。
示例:
mySring = "abc==abc++abc==bc++abc";
我需要这样的东西:
myString.split("==|++")
它的regularExpression是什么?
答案 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}