我试图为拆分函数创建正则表达式,该表达式将在单个破折号(-)或双破折号(-)或空格字符(\s)上拆分。我正在尝试"-\s“,但是当它命中双破折号时会返回一个额外的空字符串。
"12-34 56-7 89".split("-\s");返回
12
34
56
7
89发布于 2013-10-27 00:30:10
使用"--?|\\s"。
就我个人而言,我想看看是否有多少破折号或空格可以作为分隔符,在这种情况下,可以使用"[-\\s]+"。
还请注意,\\s不是空格字符。它意味着任何空格字符。如果只想使用空格字符,请使用"--?| "。
发布于 2013-10-26 23:13:08
尝试使用“(?:-”
发布于 2013-10-26 23:13:32
这是你想要的密码。注意,它使用了用于或。它还使用parens来表示双破折号在一起。
String test = "a-b--c d";
String[] values = test.split("(--)|-|\\s");
for(String s: values) {
System.out.println(s);
}https://stackoverflow.com/questions/19612864
复制相似问题