我如何在空白字符串上进行正则表达式拆分,却忽略单词之间的空白?

该字符串如下所示:

1 IT1103 Kabellose Maus Freemove 5 23.07.2018 30 150,00


我想像这样分割字符串并将其保存到DataTable中

1
IT1103
Kabellose Maus Freemove
5
23.07.2018
30
150,00


有人可以帮忙吗?

谢谢
邦妮

最佳答案

您可以使用以下代码:

String input ="1 IT1103 Kabellose Maus Freemove 5 23.07.2018 30 150,00";
final String PATTERN = "(?<=\\d)\\s|\\s(?=\\d)";
String[] array = input.split(PATTERN);
for(String str : array)
{
  System.out.println(str);
}


输出:

1
IT1103
Kabellose Maus Freemove
5
23.07.2018
30
150,00


正则表达式:https://regex101.com/r/MN6juN/2

说明:

(?<=\\d)\\s|\\s(?=\\d)是一个正则表达式,将仅考虑在数字后跟/前跟数字的空格,因此,Kabellose Maus Freemove将被视为一个完整的字符串。

09-11 19:19