Вот примерное решение, не зная полного списка сокращений, которые вы хотите проверить.Вы можете выполнить поиск по следующему шаблону и заменить его первой группой захвата:
((?:Mr|Mrs|Dr)\.[^.]+\.)\n
Это будет идентифицировать аббревиатуру last в любом предложении, которое заканчивается точкой, сразу после которой следует \n
новая линия.Обратите внимание, что в случаях, когда в одном предложении более одного сокращения, оно будет соответствовать только последнему сокращению.
String input = "Here is a sentence. Said Mrs. Canopoy, here is another sentence about Mr. Potato Head.\r\nHere is a third sentence.";
System.out.println(input);
input = input.replaceAll("((?:Mr|Mrs|Dr)\\.[^.]+\\.)\\r\\n", "$1");
System.out.println(input);
Демонстрация
Я проверяю только на Mr.
, Mrs.
или Dr.
, но вы можете добавить к чередованию столько аббревиатур, сколько захотите.