регулярное выражение Python - удаление слова "word", сохраняя ["слово"] - PullRequest
0 голосов
/ 18 декабря 2018

Я хотел бы удалить Opportunity, сохраняя при этом «[Возможность]».

Winery Tailspin Electonic Opportunity   [Opportunity].[Opportunity Name]

Как мне это сделать?

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Я не уверен, что вы хотите с битом [Opportunity Name], но следующая строка удалит все возможности, которые не смежны [или]:

re.sub('([^\[])(Opportunity)([^\]])','\g<1>\g<3>',string)

Этот кодиспользуйте группировку в регулярных выражениях и сопоставляйте строки в форме (любой символ, отличный от [) (возможность) (любой символ, отличный от]), затем заменяйте на первую и третью группу, т.е. на соседние символы.Использование вашего примера даст результат

Winery Tailspin Electonic [Opportunity].[Opportunity Name]

Однако обратите внимание, что это решение будет работать тогда и только тогда, когда Opportunity не первое, а не последнее слово.Это правда в вашем случае?

0 голосов
/ 18 декабря 2018

Вы можете использовать параметр count в re.sub, как показано ниже, если это происходит всегда перед вашим '[word]'.

    re.sub('Opportunity','',string,count = 1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...