Удалить одно слово после ключевого слова

1

Python Script для удаления имен после слова "Дорогой" У меня есть строка комментариев к случаю, и я пытаюсь удалить имя пользователя после слова "Дорогой". Например, моя строка может быть "Дорогой Джейн, у меня проблема с одним из продуктов". и я хочу, чтобы мой скрипт нашел "Дорогой", а затем удалил следующее слово "Джейн". Мой скрипт идентифицирует "Дорогой", но удаляет все после не только имени:

text = 'Dear Jane, I am having an issue with one of the products.'

text = ''.join(text.partition('Dear')[:2])

print(text)
  • 0
    Вы хотите оставить Dear ? Так что это говорит, Dear, I am having...
  • 0
    Нет, его можно удалить вместе с именем.
Теги:

2 ответа

2
Лучший ответ

Если вы хотите оставить Dear, но удалите имя, вы можете использовать регулярное выражение и re.sub здесь:

>>> import re
>>> re.sub(r'(Dear)\s\w+', r'\1', text)
'Dear, I am having an issue with one of the products.'

Если вы хотите удалить Dear, вы можете изменить свое регулярное выражение:

>>> re.sub(r'Dear\s\w+[^\w]+', '', text)
'I am having an issue with one of the products.'
  • 0
    Как бы вы отредактировали сценарий, если бы он был «Дорогой Джон Смит» и хотел бы удалить оба имени?
  • 0
    Всегда ли будет запятая после Dear whatever ?
Показать ещё 6 комментариев
0

Для любого расширенного использования обработки текста re встроенный модуль:

import re
text = 'Dear Jane, I am having an issue with one of the products.'

print(re.sub('^Dear\s(.*?),', 'Dear,', text))

Выход:

Дорогой, у меня проблема с одним из продуктов.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню