Regex仅用于删除数字之间的空格

问题描述 投票:8回答:3

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

"Hello 111 222 333 World!"

成为

"Hello 111222333 World!"

我已经尝试过:

message = message.replaceAll("[\\d+](\\s+)[\\d+]", "");

似乎没有完成。

java android regex
3个回答
18
投票

您可以使用这种基于环视的正则表达式:

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

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


1
投票

怎么样:

message = "Hello 111 222 333 World!".replaceAll("(\\d)\\s(\\d)", "$1$2");

给予:

"Hello 111222333 World!"

0
投票

感谢您的命令。我有类似的rqrmt。但是如果我的输入是:这里一些文本345646356一些文本235 5343输出应该是:这里一些文本345646356一些文本235 5343

在这种情况下,如果长度为9,则需要删除数字之间的空格。否则,空格应保持原样。

© www.soinside.com 2019 - 2024. All rights reserved.