"hello . world . thanks ."
我希望得到这个:
"hello. world. thanks."
我试过
text = text.replaceAll(" .",".");
text = text.replaceAll(" \\.",".");
text = text.replaceAll(" \\.","\\.");
但它不起作用。任何解决方案??
全部谢谢
答案 0 :(得分:7)
replaceAll
使用正则表达式作为第一个论点。如果你想要一些非常简单的东西(也就是给出的例子,假设你的实际问题不是很复杂),你可以使用replace
。
text = text.replace(" .", ".");
答案 1 :(得分:5)
你的第二种方法应该有效。
我猜你可能在.
之前有1到多个空格或标签。在这种情况下,你需要使用+
量词来匹配1到多个空格(如果你有的话)
text = text.replaceAll("\\s+[.]",".");
由于.
在正则表达式中具有特殊含义,因此您需要使用\\.
或[.]
来对其进行转义,以便.
逐字处理
\s
与[ \t\r\n]
答案 2 :(得分:3)
我建议您不要使用String.replaceAll
开头。你不需要需要正则表达式,那为什么要让自己更难?请改用String.replace
。
text = text.replace(" .", ".");