正则表达式为 - OR - OR \ s

时间:2013-10-26 23:06:27

标签: java regex split

我正在尝试为分割函数创建一个正则表达式,该分割函数将在单个短划线( - )或双短划线( - )或空格字符(\ s)上分割。我正在尝试“[ - \\ s]”,但是当它击中双击时会返回一个额外的空字符串。

“12-34 56--7 89”.split(“[ - \\ s]”);返回

12 
34
56

7
89

4 个答案:

答案 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
相关问题