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