我正在尝试获取传入连接的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/