我知道您可以使用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);
将第二个分隔符的所有实例替换为第一个并拆分为第一个。
注意: usingreplaceAll
允许您将正则表达式用于delimiter2
. 因此,您实际上应该将所有匹配项替换为delimiter2
与 的正则表达式匹配的某个字符串delimiter1
。
你可以用这个
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}