@35000sobak

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

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

Почему так?
  • Вопрос задан
  • 80 просмотров
Решения вопроса 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])
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
OnederX Москва
от 100 000 до 120 000 ₽
от 80 000 до 120 000 ₽
SwapZilla.co Москва
от 200 000 ₽
14 авг. 2020, в 02:27
1000 руб./за проект
14 авг. 2020, в 01:51
600 руб./за проект
13 авг. 2020, в 23:56
200000 руб./за проект