Удаление периодов в конце предложений в python

У меня есть такие предложения: «Это тест 4.55 и 5000». Я хочу удалить период в конце предложений, но не между числами. Мой результат должен быть – «это тест 4.55 и 5000». Я попробовал следующие параметры, но не получил требуемый вывод:

wordList = "this is a test. 4.55 and 5,000." pattern3 = re.compile("[^\w\d]+") wordList = pattern3.sub(' ',wordList) 

Также попробовал следующее 2:

 pattern3 = re.compile("[^\w]|^[0-9]\.[0-9]") pattern3 = re.compile("[^\w]|^([0-9]/.[0-9]+)") 

Я не знаю, где я ошибаюсь. Может ли кто-нибудь дать мне несколько указателей? Я искал ранние сообщения и пробовал их, но они не работают для моей ситуации.

3 Solutions collect form web for “Удаление периодов в конце предложений в python”

Попробуйте отрицательный взгляд:

 \.(?!\d) 

Это соответствует любому периоду, за которым не следует цифра.

В регулярном выражении специальный символ $ [соответствует] концу строки или непосредственно перед новой строкой в ​​конце строки "

В этом случае, предполагая только одно предложение в строке, я бы предложил следующее:

 \.$ 

Это будет соответствовать только периодам, которые встречаются в конце строки (или конце строки для многострочных строк). Конечно, если вы не можете гарантировать одно предложение на строку, то это не решение для вас.

Как насчет

 pattern = re.compile(r'\.(\s)') wordList = pattern.sub(r'\1', wordList) 

Это заменяет период, за которым следует пробел с пробелом.

  • Невозможный lookbehind с обратной рецензией
  • Кто-нибудь знает, как работают nosetest -m, -i и -e?
  • Проблема с созданием текстового файла, когда новые строки создаются, когда они не действительно EOL
  • Как извлечь последовательности символов Unicode из исполняемого файла MZ?
  • BeautifulSoup возвращает пустой список при поиске по именам составных классов
  • Regex исключить строку и атрибут в выражении
  • Pymongo Regex $ все несколько поисковых запросов
  • Включение строки со встроенными скобками в словарь
  • Python - лучший язык программирования в мире.