我有例如这个:
"hello . world . thanks ."
我想得到这个:
"hello. world. thanks."
我试过
text = text.replaceAll(" .",".");
text = text.replaceAll(" \\.",".");
text = text.replaceAll(" \\.","\\.");
但它不起作用。有什么解决办法??
谢谢大家
replaceAll
第一个论点使用正则表达式。如果您想要一些非常简单的东西(也就是给出的示例,假设您的实际问题不是更复杂),您可以使用replace
.
text = text.replace(" .", ".");
您的第二种方法应该有效。
我猜你之前可能有 1 到多个空格或制表符.
。在这种情况下,如果你有它们,你需要使用+
量词来匹配 1 到多个空格
text = text.replaceAll("\\s+[.]",".");
由于.
在正则表达式中具有特殊含义,因此您需要使用\\.
or [.]
which 会按.
字面意思对其进行转义
\s
类似于[ \t\r\n]
我建议你不要String.replaceAll
开始使用。您在这里不需要正则表达式,那么为什么要让自己更难呢?改为使用String.replace
。
text = text.replace(" .", ".");