Python替换长URL的一部分

时间:2018-09-25 12:38:55

标签: python regex

我的网址很长

https://yyyyyy.com/yyyyy/xxxxx/yyyyy/yyyyyy/yyyyy/pppp/kkkk

我想将xxxx部分替换为zzzz

我尝试了re.sub

b = url.split('/')[-6] #which gives me the right part of the url to change
newurl = re.sub(b, 'zzzz',  url)

但是当我打印它时,我仍然得到旧的URL。

3 个答案:

答案 0 :(得分:3)

您可以通过替换操作来实现。

url = 'https://yyyyyy.com/yyyyy/xxxxx/yyyyy/yyyyyy/yyyyy/pppp/kkkk'
sp = url.split('/')[-6]
new_url = url.replace(sp, 'zzzz')

print(new_url)

输出

https://yyyyyy.com/yyyyy/zzzz/yyyyy/yyyyyy/yyyyy/pppp/kkkk

请注意,因为这将替换'xxxx'中的所有url。例如,如果您有。

url = 'https://yyyyyy.com/xxxxx/xxxxx/xxxxx/yyyyyy/xxxxx/pppp/kkkk'
sp = url.split('/')[-6]
new_url = url.replace(sp, 'zzzz')

print(new_url)

输出

https://yyyyyy.com/zzzzz/zzzz/zzzzz/yyyyyy/zzzzz/pppp/kkkk

答案 1 :(得分:1)

您可以切片并加入从url拆分的列表:

url = 'https://yyyyyy.com/yyyyy/xxxxx/yyyyy/yyyyyy/yyyyy/pppp/kkkk'
b = url.split('/')
newurl = '/'.join(b[:-6] + ['zzzz'] + b[-5:])

newurl将变为:

https://yyyyyy.com/yyyyy/zzzz/yyyyy/yyyyyy/yyyyy/pppp/kkkk

答案 2 :(得分:0)

您可以尝试一下,

import re
s = "https://yyyyyy.com/yyyyy/xxxxx/yyyyy/yyyyyy/yyyyy/pppp/kkkk"
new_url = re.sub('[xxxxx]', 'z', s)
print(new_url)