python извлекает часть URL и сохраняет оригинальное форматирование - PullRequest
0 голосов
/ 10 мая 2018

Допустим, у меня есть следующий URL:

 https://espn.com/1234/44/222/mlb/standings

И я хотел извлечь /1234/44/222 как есть.Я понимаю, что split('/')[3:5] извлечет это, но потеряет / форматирование.

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

Вы можете использовать re.findall:

import re
s = "https://espn.com/1234/44/222/mlb/standings"
new_s = '/'.join(re.findall("\d+", s))

Выход:

'1234/44/222'
0 голосов
/ 10 мая 2018

Если ваши URL-адреса соответствуют указанному выше формату и вам нужен текст от .com до /mlb, вы можете использовать следующее регулярное выражение:

.com([\/\d]+)\/mlb

В действии:

>>> s = 'https://espn.com/1234/44/222/mlb/standings'
>>> re.findall(r'.com([\/\d]+)\/mlb', s)
['/1234/44/222']

Вы также можете использовать join с split:

>>> '/'.join(s.split('/')[3:6])
1234/44/222
...