我正在尝试为分割函数创建一个正则表达式,该分割函数将在单个短划线( - )或双短划线( - )或空格字符(\ s)上分割。我正在尝试“[ - \\ s]”,但是当它击中双击时会返回一个额外的空字符串。
“12-34 56--7 89”.split(“[ - \\ s]”);返回
12
34
56
7
89
答案 0 :(得分:2)
使用"--?|\\s"
。
就个人而言,我会看到是否有任何数量的短划线或空格可用作分隔符,在这种情况下,请使用"[-\\s]+"
。
另请注意,\\s
不是空格字符。它意味着任何空白字符。如果您只想要空格字符,请使用"--?| "
。
答案 1 :(得分:0)
尝试使用“(?: - | - | \\ s)”作为正则表达式
答案 2 :(得分:0)
这个代码你想要吗?注意它使用|为或。它还使用parens来显示双破折号。
String test = "a-b--c d";
String[] values = test.split("(--)|-|\\s");
for(String s: values) {
System.out.println(s);
}
答案 3 :(得分:-1)
您可以尝试以下方式:
"[-\\ ]+"
示例:
String str = "12-34 - 56--7 89";
String[] arraySplit = str.split("[-\\ ]+");
for (String s : arraySplit){
System.out.println(s);
}
结果:
12
34
56
7
89