Я хочу исправить искаженные эллипсы (...
) в String
.Исправить неправильные эллипсы в строке
"Hello.. World.."
"Hello... World..." // this is correct
"Hello.... World...."
"Hello..... World....."
все должны быть исправлены, чтобы:
"Hello... World..."
Ниже регулярное выражение обрабатывает любой экземпляр 3 или более последовательных .
-х:
line.replaceAll("\\.{3,}", "...");
Однако я не знаю, как обращаться с корпусом, когда есть ровно 2 последовательных .
. Мы не можем сделать что-то вроде этого:
line.replaceAll("\\.{2}", "...");
Например, для "..."
, приведенный выше код будет возвращать "......"
, как регулярное выражение заменит первые 2 .
«с (индексом 0 и 1), то следующие 2 .
(индекс 1 и 2), что приводит к "..." + "..." = "......"
.
Что-то вроде это работает:
line.replaceAll("\\.{2}", "...").replaceAll("\\.{3,}", "...");
... но должно быть лучше!
Только два или более периода заменены на три? –
Как насчет 'line.replaceAll (" \\. + "," ... ");'? Это заменит любую последовательность точек (например, '.', '..',' ... ',' ........ ') последовательность с вашим желаемым' ... '. – AndrewMcCoist
Это вопрос «gimme teh codez». Он должен быть закрыт – user193661