-2

今日、解決できない正規表現の問題に 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 に答える