python取出部分URL并保留原始格式

时间:2018-05-10 17:52:28

标签: python url split

假设我有以下网址:

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

我想按原样提取/1234/44/222。我知道split('/')[3:5]会提取它,但它会丢失/格式化。

2 个答案:

答案 0 :(得分:0)

如果您的网址符合上述格式,并且您想要.com/mlb之间的文字,则可以使用以下正则表达式:

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

行动中:

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

您还可以将joinsplit

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

答案 1 :(得分:0)

您可以使用re.findall

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

输出:

'1234/44/222'