2016-07-06 5 views
1

Я хочу заменить точку пустым пространством, если оно окружено/предшествовало/последовали цифры, и ничего не делать, если они окружены/предшествуют/сопровождаются цифрами.Создание регулярного выражения с точкой

Например, String «Я побежал 4.4 км. Всего 2 раза». станет «Я побежал 4.4 Km Всего 2 раза»

Мне нужна помощь в построении этого регулярного выражения. Я использую это:

string.replaceAll("[D].", "[D]") 

и, получая многочисленные точки только.

ответ

1

Вы можете использовать lookaheads и как Утверждения назад

System.out.println(Str.replaceAll("(?<=\\D)\\.(?=\\D|$)", "")); 

Regex Объяснение

(?<=\\D) #Lookbehind to match non-digit 
\\. #Match . literally 
(?=\\D|$) #Lookahead to match non-digit or end of string 
Смежные вопросы