@35000sobak

Как правильно выполнить срез в ссылке?

ref_id = int(message.text[7:]) #получаем id
Вот таким способом получаю id из ссылки вида:
https://t.me/test_bot?start=139513584
и на выходе получаю ошибку:
ValueError: invalid literal for int() with base 10: ''

Почему так?
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
@SirotaKazansky
System Analyst
У Вас значение message.text[7:] равно "/t.me/test_bot?start=139513584" - как Вам Python из этого тип int соберёт?
Вам что на выходе получить нужно?

Если Вам число на конце нужно, причем оно всегда такой длины, то нужно использовать отрицательные значения в срезе
text="https://t.me/test_bot?start=139513584"
ref_id = int(text[-9:])

Если Вам вытащить то что после start равно, вдруг там другая длина или вообще буквы можете попробовать split
text="https://t.me/test_bot?start=139513584"
text.split("?start=")
print (text.split("?start=")[1])
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы