我正在尝试获取传入连接的IP地址,然后将其存储在YML文件(SnakeYML API)中。
我已经收到IP down pat,并且使用传入的本地连接进行了测试,该连接正确返回了“ 127.0.0.1”。

但是,当我在其上运行此方法时:

address.replaceAll(".", "-");


返回结果是这样的:“ ---------”
(我必须替换句点,因为SnakYML使用句点作为路径分隔符)

这可能真的很愚蠢,但我无法弄清楚。

最佳答案

您需要使用"\\."而不是"."。原因是.是匹配任何字符的正则表达式。因此,您需要对其进行转义以使其仅与实际点匹配-写address.replaceAll("\\.", "-");

另一种选择是使用replace方法代替replaceAll,该方法直接解释其参数,而不是将其作为正则表达式。所以address.replace(".", "-");会做您想要的。

关于java - String.replaceAll()替换所有字符,而不仅仅是正则表达式。 -Java,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28140259/

10-11 20:43