Как узнать, входит ли символ в заданый интервал

Подскажите пожалуйста как узнать, входит ли символ в интервал строки

    for entity in message.entities:
        if entity.type == MessageEntityType.URL:
            print("URL", "".join(
                ["*" if ii in message.text[entity.offset:entity.offset + entity.length] 
                 else ii 
                 for ii in message.text]))

Как должно работать: Если индекс входит в заданый интервал [entity.offset:entity.offset + entity.length] то символ заменяется на * иначе записывается сам символ.

Как работает: При заданом тексте test google.com выводит URL t*st **********

В целом все работает на библиотеке aiogram


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

Автор решения: v1nc3nt_0'ne1ll

Вопрос решён.

async def entites(message: Message):
    for entity in message.entities:
        if entity.type == MessageEntityType.URL:
            message.text = "".join([
                    "*" if (entity.offset) <= ii <= (entity.offset + entity.length -1)
                    else list(message.text)[ii]
                    for ii in range(0, len(message.text))
                ])
            list(message.entities).remove(entity)
    print(message.text)

Ввод

google.com test yandex.ru textSimple

Вывод

********** test ********* textSimple

→ Ссылка