#python
#python
Вопрос:
У меня есть следующая строка: «https://www.instagram.com/paula.mtzm /» Я хочу поместить пользователя «paula.mtzm» в переменную. Кто-нибудь знает, как это сделать? Может быть, вы можете каким-то образом удалить часть строки, например «https://www.instagram.com /» а затем удалить последний символ «/» ?
Комментарии:
1. Обычный метод — использовать регулярное выражение; смотрите
re
модуль: docs.python.org/3/library/re.html2. @alkasm:
urlparse
вероятно, здесь лучшее решение . В худшем случае вам просто нужно убрать обратную косую черту после синтаксического анализа. Регулярное выражение всегда должно быть последним вариантом, после того как простые строковые методы и выделенные анализаторы подведут вас.3. @ShadowRanger Я согласен, особенно для этого случая. Что касается названия вопроса, то наиболее общим ответом является регулярное выражение. Но да, хороший вызов — синтаксический анализ URL-адресов в регулярных выражениях не идеален.
Ответ №1:
"https://www.instagram.com/paula.mtzm/".split(".com/")[-1].replace("/", "")
Это должно делать то, что вы хотите. Эффективно он разбивает строку на список с помощью разделителя .com/
, получает последний элемент этого списка ( "paula.mtzm/"
) и, наконец, удаляет все оставшиеся /
s
Я не уверен, насколько специфичен ваш вариант использования, поэтому я не знаю, насколько это подходит в целом.
Ответ №2:
На самом деле это довольно просто:
Строки индексируются в Python точно так же, как список. Итак:
string = "potato"
print string[0] #this will print "p" to the console
#we can 'slice' in the index too
print string[0:3] #this will print "pot" to the console
Итак, для вашей конкретной проблемы вы могли бы выполнить поиск кода для 3-го
переслать косую черту и захватить все после этого.
Если вы всегда знаете веб-адрес, вы можете просто начать свой индекс с конца адреса и с того места, где начинается пользователь:
string = "https://www.instagram.com/paula.mtzm/"
string_index = 26 # the 'p' in paula begins here
user_name = string[string_index:string.len]
print user_name #outputs paula.mtzm
Комментарии:
1. Я сомневаюсь, что постер искал ответ в python 2, поскольку он не поддерживается уже чуть меньше года.