正则表达式只删除数字之间的空格

Bad*_*heh 8 java regex android

我需要删除数字之间的空格,以便像这样的字符串:

"Hello 111 222 333 World!"
Run Code Online (Sandbox Code Playgroud)

"Hello 111222333 World!"
Run Code Online (Sandbox Code Playgroud)

我试过这个:

message = message.replaceAll("[\\d+](\\s+)[\\d+]", "");
Run Code Online (Sandbox Code Playgroud)

似乎没有完成它.

anu*_*ava 18

您可以使用此基于外观的正则表达式:

 String repl = "Hello 111 222 333 World!".replaceAll("(?<=\\d) +(?=\\d)", "");
 //=> Hello 111222333 World!
Run Code Online (Sandbox Code Playgroud)

此正则表达式"(?<=\\d) +(?=\\d)"确保匹配前面和后面跟数字的空格.

  • 但正如你在这里看到的那样:``http:// regex101.com/r/zL6yH3`,`1 2 3`不能成为`123`与`(\\ d)(\\ d)` (2认同)
  • 对于 Javascript:`thestring.replace(/(?&lt;=\d) +(?=\d)/g, '');` (2认同)