Как узнать, входит ли символ в заданый интервал
Подскажите пожалуйста как узнать, входит ли символ в интервал строки
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