Я занимаюсь программой, которая в будущем будет интерпретировать результаты поиска видео с YouTube. Моя отрывочная версия кода предназначена для извлечения псевдонимов исполнителей из названия песни.
Пример
У меня есть название, сохраненное в строке: "Drake ft. DJ Khalid, Nicki Minaj - 'Why Futures' (Официальное видео)" * , и я хотел бы игнорировать слово 'Futures' для findall функция (потому что она является частью заглавной песни, это не ник рэпера / исполнителя), которая находится между символами 'и'.
Кроме того, у меня есть проблема с 'DJ Khalid', потому что findall возвращает два ника рэперов (DJ Khalid и Khalid) вместо одного (должен быть тот же DJ Khalid).
Код
edit_string = "Drake ft. DJ Khalid, Nicki Minaj - "Why Futures" (Official video)"
rapper_name = open_csv() #list of rapper's nicks
new_title = []
for rapper_name in rappers_list:
yer = ''.join(rapper_name)
if re.findall(yer.lower(),edit_string.lower()): new_title.append(yer)
new_title = ' x '.join(new_title)
print(new_title)
edit_string = new_title
Результаты
Фактический результат: Drake x Khalid x Nicki Minaj x DJ Khalid x Future
(потому что в моем списке рэперов, к сожалению, есть кто-то, кого зовут Future)
Должен быть: Drake x DJ Khalid x Nicki Minaj
Как это сделать наилучшим образом (лучшая оптимизация)? Заранее благодарю за помощь.