2014-01-31 3 views
0

Я пытаюсь удалить полные остановки из строки. Я пробовал нижеУдаление полных остановок из строки

titleAndBodyContainer = titleAndBodyContainer.replaceAll("\\.", " "); 

К сожалению, это также удалило все другие «точки». Мой пункт включает в себя дату, как 13 января 2014, такие слова, как U.S и номер, как 2,2. Как удалить только полные остановки?

+3

Так как же отличить тусклый-стоп от нормальных периодов? –

+0

Если новая линия после полной остановки имеет промежуток между ними, вы можете воспользоваться этим. –

+0

Как насчет 'titleAndBodyContainer.replaceAll (" \\. (\\ s) "," $ 1 ");'? Это заменит fullstops с последующим символом пробела с пробелом, сопровождаемым тем же символом пробела. –

ответ

1

Я хотел бы сделать:

titleAndBodyContainer = titleAndBodyContainer.replaceAll("\\.(?=\\s|$)", " "); 
+0

Привет. Это содержит ошибки. 'Invalid Escape Sequence' –

+0

@GloryOfSuccess: Я пропустил двойной пробел. Исправлено, см. Мое редактирование. – Toto

+0

Это сработало. Благодарю . –

0

Вы можете проверить, есть ли space или newline, следующего за ..

Вы можете использовать регулярное выражение: (\.(?=[\s\n\r]|$))

Код:

String input = "Unfortunately, this removed all other 'dots' as well. My paragraph includes dates like Jan.13, 2014 , words like U.S and numbers like 2.2. How can I remove only the full stops?\n"+"Somthing is there.\n"+"Hello someone . What is this something ? "; 

String REGEX = "(\\.(?=[\\s\\n\\r]|$))"; 

String x=input.replaceAll(REGEX, " "); 

ВЫВОД

Unfortunately, this removed all other 'dots' as well My paragraph includes dates like Jan.13, 2014 , words like U.S and numbers like 2.2 How can I remove only the full stops? 
Somthing is there 
Hello someone What is this something ? 

DEMO

+0

Вы правы. Я пропустил $. Теперь я обновил свой ответ. –

+0

[Но даже тогда] (http://regex101.com/r/oS8jC7) ... И я уверен, что могу придумать больше исключений. Вывод, эта задача не подходит для регулярных выражений. – Jerry

+0

да. , , , :) –

0

Если ваши строки (предложения) являются грамматически правильными, т. Е. Предложение, следующее за полным стопом, начинается с заглавной буквы. Я думаю, вы можете создать собственный метод для проверки такого полного завершения, если после полного цикла есть строка, в которой записана ее первая буква.

Смежные вопросы