Форум сайта python.su
Здравствуйте, подскажите пожалуйста, требуется произвести поиск по различным строкам и выбрать только те, которые начинаются со слова “University”, а потом выбрать ту часть строки, которая идёт после запятой. Например выражение:
University Park, Los Angeles
Вот такой код
(?<=^University\s).+
"Park, Los Angeles"
"Los Angeles"
Отредактировано dobriy_dada (Янв. 11, 2017 19:52:32)
Офлайн
(?<=, ).+
Офлайн
>>> import re >>> >>> text = 'University Park, Los Angeles' >>> >>> match = re.search(r'^University [^,]+, (.*)', text) >>> if match is not None: ... match.group(1) ... 'Los Angeles' >>>
Офлайн
py.user.next, спасибо, но здесь другой код, у меня такой (используется pandas):
df['RegionName1'] = df['Temp'].str.extract('((?<=^University\s[^,]).+(?=\())')
"University Park, Los Angeles (University of Southern California)"
ark, Los Angeles
df['RegionName1'] = df['Temp'].str.extract('((?<=^University\s[^,]+).+(?=\())')
Отредактировано dobriy_dada (Янв. 12, 2017 03:20:42)
Офлайн
>>> import re >>> >>> text = 'University Park, Los Angeles (University of Southern California)' >>> >>> match = re.search(r'^University [^,]+, (.*) \(', text) >>> if match is not None: ... match.group(1) ... 'Los Angeles' >>>
dobriy_dadaНу, всё правильно получается. Скопируй мой шаблон туда.
После выполнения кода получается такая строка
Отредактировано py.user.next (Янв. 12, 2017 04:44:16)
Офлайн