Я новичок в программировании и Python.Как управлять URL-строкой, чтобы извлечь одну часть?
фон
Моя программа принимает URL. Я хочу извлечь имя пользователя из URL-адреса.
Имя пользователя является субдоменом. Если субдомен является «www», имя пользователя должно быть основной частью домена. Остальная часть домена следует отказаться (например, «.com /», «.org /».)
Я попытался следующие:
def get_username_from_url(url):
if url.startswith(r'http://www.'):
user = url.replace(r'http://www.', '', 1)
user = user.split('.')[0]
return user
elif url.startswith(r'http://'):
user = url.replace(r'http://', '', 1)
user = user.split('.')[0]
return user
easy_url = "http://www.httpwwwweirdusername.com/"
hard_url = "http://httpwwwweirdusername.blogger.com/"
print get_username_from_url(easy_url)
# output = httpwwwweirdusername (good! expected.)
print get_username_from_url(hard_url)
# output = weirdusername (bad! username should = httpwwwweirdusername)
Я пробовал много других комбинаций с использованием strip()
, split()
и replace()
.
Не могли бы вы посоветовать мне, как решить эту относительно простую проблему?
Не удается воспроизвести – vaultah
вы пробовали, используя шаблоны строк и StrPos() ... кажется, что они могут помочь вам в вашей проблемы –
Ваш код прекрасно работает меня. – Zenadix