Java如何在句点后放置一个点

Java如何在句点后放置一个点,java,regex,Java,Regex,我有一段文字。我想做的是,在整个文本中,我想在所有句点之后加一个空格,如果它还没有出现的话。如果已经存在,我不想要两个空格 另外,如果文本包含多个连续的句点,我只想在最后一个句点之后加上一个空格,而且只有在空白不存在的情况下才这样做 我试着用这个: .replaceAll("[.!?;]", "$0 ").replaceAll("\\s+", " ") 但这对于多个点来说是失败的 谢谢。如果圆点后没有空格,您可以使用此正则表达式在圆点后放置空格: str = str.replaceAll("\

我有一段文字。我想做的是,在整个文本中,我想在所有句点之后加一个空格,如果它还没有出现的话。如果已经存在,我不想要两个空格

另外,如果文本包含多个连续的句点,我只想在最后一个句点之后加上一个空格,而且只有在空白不存在的情况下才这样做

我试着用这个:

.replaceAll("[.!?;]", "$0 ").replaceAll("\\s+", " ")
但这对于多个点来说是失败的


谢谢。

如果圆点后没有空格,您可以使用此正则表达式在圆点后放置空格:

str = str.replaceAll("\\.(?![.\\s])", "$0 ");

(?![.\\s])
是一个负前瞻,如果下一个位置有空格或点字符,它将断言false。

除非已经存在空格,否则关于的部分是一个无意义的点。
通常,对于最快的解决方案,使用一个模式来吸收所有数据,
然后盲目地更换它

全球范围内,
查找
(?:\s++)(\.+)\s*

替换
“$1”

这是为了减少空白。

当您和它因质量差而被否决时,删除它并立即以相同的格式再次发布是不可接受的。相反,编辑上一个问题以改进它。发布同一个被否决和关闭的问题,删除它并再次发布同一个问题只会导致更多的否决和关闭投票,反复重复该行为将使您的帐户在此被暂停。有关Ken正在谈论的内容的更多信息,请参阅。删除被否决的问题并重新发布实际上比修复被否决的问题更糟糕,因为在考虑问题禁令时会包括被删除的问题。