我想修复一个畸形的椭圆(...)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)
......但必须有更好的方法!