从python中的URL中删除GET变量

Mev*_*abu 3 python regex algorithm url python-2.7

我有这个网址:

http://www.exmaple.com/boo/a.php?a=jsd
Run Code Online (Sandbox Code Playgroud)

我想要的输出是这样的:

http://www.exmaple.com/boo/
Run Code Online (Sandbox Code Playgroud)

如果我有明智的话

http://www.exmaple.com/abc.html
Run Code Online (Sandbox Code Playgroud)

它应该是

http://www.exmaple.com/
Run Code Online (Sandbox Code Playgroud)

http://www.exmaple.com/
Run Code Online (Sandbox Code Playgroud)

应该回来

http://www.exmaple.com/
Run Code Online (Sandbox Code Playgroud)

没有任何改变

这就是我尝试过的

re.sub(r'\?[\S]+','',"http://www.exmaple.com/boo/a.php?a=jsd")
Run Code Online (Sandbox Code Playgroud)

但它回来了

http://www.exmaple.com/boo/a.php
Run Code Online (Sandbox Code Playgroud)

有什么建议可以做些什么来获得正确的输出,或者有没有人有更好的想法来完成这项工作?

Fre*_*nan 5

请使用stdlib urlparse模块,就像这样.一般来说,除非绝对必要,否则我会尽量避免使用正则表达式.

from urlparse import urlparse, urlunparse
>>> parsed = urlparse("http://www.exmaple.com/boo/a.php?a=jsd")
>>> scheme, netloc, path, params, query, fragment = parsed
>>> urlunparse((scheme,netloc,path.split('/')[1],'','',''))
'http://www.exmaple.com/boo'
Run Code Online (Sandbox Code Playgroud)