我有这串

"36635,36635,36635,36635 36635 36635 36635 36635-36635-36635"

最后,我想

36635 36635 36635 36635 36635 36635 36635 36635 36635 36635

我设法通过以下代码实现了这一点。

String original = "36635,36635,36635,36635   36635   36635 36635  36635-36635-36635";
String justSpaces =  original.replaceAll("[^0-9]", " ");
String oneSpaceMax = justSpaces.replaceAll(" {2,}", " ");
System.out.printf("Original: %s \n JustSpaces: %s \n oneSpaceMax: %s", original, justSpaces, oneSpaceMax);


输出量

Original: 36635,36635,36635,36635   36635   36635 36635  36635-36635-36635
JustSpaces: 36635 36635 36635 36635   36635   36635 36635  36635 36635 36635
oneSpaceMax: 36635 36635 36635 36635 36635 36635 36635 36635 36635 36635


如何合并这两个正则表达式语句?我尝试使用Or |运算符,但是没有运气。

最佳答案

采用:

original = original.replaceAll("\\D+", " ");


\\D+将匹配1个或多个非数字(包括空格),并且替换仅是一个空格。

RegEx Demo

10-05 22:08