修复字符串中格式错误的椭圆

bud*_*udi 6 java regex string

我想修复一个畸形的椭圆(...)String.

"Hello.. World.."
"Hello... World..."     // this is correct
"Hello.... World...."
"Hello..... World....."
Run Code Online (Sandbox Code Playgroud)

应该都纠正为:

"Hello... World..."
Run Code Online (Sandbox Code Playgroud)

以下正则表达式处理3个或更多连续.的任何实例:

line.replaceAll("\\.{3,}", "...");
Run Code Online (Sandbox Code Playgroud)

但是,当连续2次连续时,我不知道如何处理这种情况..我们做不到这样的事情:

line.replaceAll("\\.{2}", "...");
Run Code Online (Sandbox Code Playgroud)

例如,对于"...",上面的代码将返回"......",因为正则表达式将替换前2个.(索引0和1),然后是下一个2 .(索引1和2),从而产生"..." + "..." = "......".

像这样的东西有效:

line.replaceAll("\\.{2}", "...").replaceAll("\\.{3,}", "...");
Run Code Online (Sandbox Code Playgroud)

......但必须有更好的方法!

Moi*_*ker 5

您可以替换以下两个或多个组.:

[.]{2,}
Run Code Online (Sandbox Code Playgroud)

...