在Java中如何将“空格和点”替换为“点”?

时间:2013-06-28 17:43:48

标签: java replace space

我有例如:

"hello . world . thanks ."

我希望得到这个:

"hello. world. thanks."

我试过

text = text.replaceAll(" .",".");
text = text.replaceAll(" \\.",".");
text = text.replaceAll(" \\.","\\.");

但它不起作用。任何解决方案??

全部谢谢

3 个答案:

答案 0 :(得分:7)

replaceAll使用正则表达式作为第一个论点。如果你想要一些非常简单的东西(也就是给出的例子,假设你的实际问题不是很复杂),你可以使用replace

text = text.replace(" .", ".");

http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#replace(java.lang.CharSequence, java.lang.CharSequence)

答案 1 :(得分:5)

你的第二种方法应该有效。

我猜你可能在.之前有1到多个空格或标签。在这种情况下,你需要使用+量词来匹配1到多个空格(如果你有的话)

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

由于.在正则表达式中具有特殊含义,因此您需要使用\\.[.]来对其进行转义,以便.逐字处理

\s[ \t\r\n]

类似

答案 2 :(得分:3)

我建议您不要使用String.replaceAll开头。你不需要需要正则表达式,那为什么要让自己更难?请改用String.replace

text = text.replace(" .", ".");