Как удалить часть из одной переменной (не из списка) в Python

У меня есть переменная в которой уже есть строка из кода одного сайта, мне нужно получить промокод из этой строки. То-есть я должен каким-то образом удалить часть до промокода и после. Как это сделать?

Сама переменная (при выводе в консоль):

<div data-title="Скопировать промокод" data-toggle="tooltip" id="promocodeBox" onclick="copy('2mRCAg2s9IClqJ8', 'Промокод скопирован')">
        2mRCA<span>-</span>g2s9I<span>-</span>ClqJ8
</div>


Ответы (1 шт):

Автор решения: Amgarak

Предлагаю использовать регулярное выражение для поиска промика:

import re

# Ваша переменная (при выводе в консоль):
html_string = """
<div data-title="Скопировать промокод" data-toggle="tooltip" id="promocodeBox" onclick="copy('2mRCAg2s9IClqJ8', 'Промокод скопирован')">
        2mRCA<span>-</span>g2s9I<span>-</span>ClqJ8
</div>
"""

# Тут запишем регулярное выражение для поиска промика
promo_code = re.search(r"copy\('([A-Za-z0-9]+)',", html_string)

if promo_code:
    #Тут мы хотим получить первую группу совпадений (выраженную круглыми скобками в регулярном выражении)
    promo_code = promo_code.group(1)
    print("Найден промокод:", promo_code)
else:
    print("Промокод не найден")
Консоль:
Найден промокод: 2mRCAg2s9IClqJ8
→ Ссылка