java - 正则表达式按空格拆分但忽略单词之间的空格

标签 java regex

如何在字符串上对空格进行正则表达式拆分但忽略单词之间的空格?

字符串看起来像:

1 IT1103 Kabellose Maus Freemove 5 23.07.2018 30 150,00

我想把字符串拆分成like保存到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将被视为一个完整的字符串。

关于java - 正则表达式按空格拆分但忽略单词之间的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48940768/

相关文章:

java - 为什么我的变量没有超出范围?

javascript -\.的用法在 javascript 的正则表达式中

python - 正则表达式中字符周围不需要的空格

java - 加载 JDBC 驱动程序

java - 在 java 中从 mjpeg 流读取和显示视频

Javascript正则表达式匹配特定模式之前和之后的所有内容

php - 正则表达式:如何查找后跟非字母数字的字符串

正则表达式间隔与数字VBA前后可能的字符

Java - Servlet,在整个项目中携带登录信息( session bean)

java - 如何使用 javax.xml.transform.Tansformer 类在属性值周围打印单引号而不是双引号?