Очистка вложенных операторов re.sub
Может кто-нибудь помочь мне очистить это вложенное регулярное выражение (re.sub) в python, пожалуйста? Я знаю, что должен быть лучший способ сделать это, но я не могу понять, как это сделать.
re.sub('.*Chairman.*','Executive Director',re.sub('.*Managing Director.*','Executive Director',row['capacity']))
У меня есть столбец строк (строка ['capacity']), который я вытащил из базы данных как часть набора, и я хочу перебирать его, заменяя любые строки, содержащие «председатель» или «управляющий директор», Исполнительный директор ", когда я пишу его на съемочную площадку.
вот полная строка кода:
wrhkset = set (( row['organization'], row['lastname'], row['givenname'], re.sub('.*Chairman.*','Executive Director',re.sub('.*Managing Director.*','Executive Director',row['capacity'])) ) for row in wrhk)
ПРИМЕЧАНИЕ: «wrhk» является кортежем списков. Я могу добавить больше кода, если это необходимо, но я действительно просто надеюсь на более упрощенный способ решения вложенных re.sub
меня есть.
Заранее спасибо!
- Как создать веб-страницу для поиска в базе данных mongoDB?
- Как бы вы смоделировали эту связь с базой данных?
- Могу ли я использовать ту же базу данных MongoDB из Python и NodeJS
- Mongo: объединение AND и OR
- Монго связи / ссылки: наиболее эффективный способ? Примеры?
Вы можете использовать |
присоединиться к двум регулярным выражениям с помощью «или»:
re.sub(r'''(?x) .*( Chairman | Managing[]Director # or ).* ''','Executive Director', row['capacity'])
Основываясь на ответе @ ubuntu, я использовал оператор OR и re.compile:
patterns = re.compile('(.*Chairman.*)|(.*Managing Director.*)|(.*Chief Executive.*)|(.*CEO.*)')
тогда:
wrhkset = set (( row['organization'], row['lastname'], row['givenname'], patterns.sub('Executive Director',row['capacity']) ) for row in wrhk)
Таким образом, я могу продолжать добавлять шаблоны, не превращая свою строку в нечитаемый беспорядок.
Благодаря!
- Получите и итерации по большому набору данных, что в порядке? И почему разница в admin log / appstas?
- Каким будет правильное соглашение об именах для модуля Python, класса и экземпляра с тем же базовым именем?
- Как преобразовать int в базу 9, без 0?
- MongoDB Оптимизация FindAndModify или Найти + Сортировать
- Как сделать больше или меньше, чем использовать MongoDB?
- Django и разработка приложения с занятиями в тренажерном зале
- Django / SQL: отслеживание того, кто читает что на форуме
- Удаление частичных данных в mongoDB
- Почему я получаю эту ошибку в монгольском запросе?
- Есть ли ограничение на количество таблиц, которые может иметь база данных PostgreSQL?
- Что вызывает «неспособность подключиться к источнику данных» для pyodbc?