Python выделить слово из строки

Рейтинг: 0Ответов: 1Опубликовано: 20.02.2023

У меня есть список

'''147 Прямой эфир канала МАТЧ ПРЕМЬЕР\n155 Ростов - Спартак. Российская Премьер-лига. 2 тур\n158 Тамбов - Спартак. Российская Премьер-лига. 3 тур\n165 Прямой эфир канала МАТЧ ПРЕМЬЕР\n173 Ростов - Спартак. Российская Премьер-лига. 2 тур\n ... \n366608 Арсенал - Динамо. Российская Премьер-лига. 1 тур\n366619 Ростов - Спартак. Российская Премьер-лига. 2 тур\n366626 Тамбов - Спартак. Российская Премьер-лига. 3 тур\n366628 Прямой эфир канала МАТЧ ПРЕМЬЕР\n366638 Локомотив - Тамбов. Российская Премьер-лига. 2...\nName: title, Length: 41692, dtype: object'''

Из этого списка надо выделить только названия команд. Как это сделать?

Ответы

▲ 0

Регулярками, например:

import re

text = '''147 Прямой эфир канала МАТЧ ПРЕМЬЕР\n155 Ростов - Спартак. Российская Премьер-лига. 2 тур\n158 Тамбов - Спартак. Российская Премьер-лига. 3 тур\n165 Прямой эфир канала МАТЧ ПРЕМЬЕР\n173 Ростов - Спартак. Российская Премьер-лига. 2 тур\n ... \n366608 Арсенал - Динамо. Российская Премьер-лига. 1 тур\n366619 Ростов - Спартак. Российская Премьер-лига. 2 тур\n366626 Тамбов - Спартак. Российская Премьер-лига. 3 тур\n366628 Прямой эфир канала МАТЧ ПРЕМЬЕР\n366638 Локомотив - Тамбов. Российская Премьер-лига. 2...\nName: title, Length: 41692, dtype: object'''

rx = re.compile(r'\d+\s+(\w+\s+-\s+\w+)')
rx.findall(text)

Вывод:

['Ростов - Спартак',
 'Тамбов - Спартак',
 'Ростов - Спартак',
 'Арсенал - Динамо',
 'Ростов - Спартак',
 'Тамбов - Спартак',
 'Локомотив - Тамбов']