Java 正则表达式按空格分割,但忽略单词之间的空格
如何在空白处对字符串执行正则表达式拆分,但忽略单词之间的空白 字符串如下所示:Java 正则表达式按空格分割,但忽略单词之间的空格,java,regex,Java,Regex,如何在空白处对字符串执行正则表达式拆分,但忽略单词之间的空白 字符串如下所示: 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 有人能帮忙吗 谢谢 Bonnie您可以使用以下代码: String input ="1 IT1103 Kabellose Maus F
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
有人能帮忙吗
谢谢
Bonnie您可以使用以下代码:
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);
}
regex:
解释:
1
IT1103
Kabellose Maus Freemove
5
23.07.2018
30
150,00
(?比Allans解决方案更简单,但更详细:
String tmp = input.replaceAll ("([0-9]) ([0-9a-zA-Z])", "\1\n\2")
String out = tmp.replaceAll ("([a-zA-Z]) ([0-9])", "\1\n\2")
- 第一个中断,当两个数字或数字和字符串之间为空时
- 然后,当字符和数字之间出现空白时,将其打破
你认为一个词是什么?你真的应该在你的数据中有字段分隔符。正则表达式在所有情况下都不够聪明。你尝试了什么?拜托。谢谢阿努巴娃。你解决了我的问题。