-2

我今天第二次遇到无法解决的正则表达式问题。这个我什至不确定可以用正则表达式解决。我的输入字符串是:

29 - Arizona Diamondbacks 15 - Atlanta Braves 1 - Baltimore Oriole 2 - Boston Red Sox 16 - Chicago Cubs 4 - Chicago White Sox

我需要将这些中的每一个拆分为 Java 中的一个数组,并且我希望输出返回:

"29 - Arizona Diamondbacks" "15 - Atlanta Braves" "1 - Baltimore Oriole"...

每个他们自己的元素在一个数组中。任何帮助都会很棒。提前致谢!

4

2 回答 2

3

您可以使用积极的前瞻:

String[] arr = str.split("\\s(?=\\d+ -)");

当团队名称中有数字时,这甚至会起作用。

于 2013-07-16T22:34:31.233 回答
0

此正则表达式将符合您的需要:

(\d+ - \D+)( |$)

每场比赛的第 1 组将具有您想要的值。

于 2013-07-16T22:32:08.060 回答