python - 在 python 中从 URL 中删除 GET 变量

标签 python regex algorithm url python-2.7

我有这个网址:

http://www.exmaple.com/boo/a.php?a=jsd

我想要的输出是这样的:

http://www.exmaple.com/boo/

如果我有的话就很明智

http://www.exmaple.com/abc.html

应该是

http://www.exmaple.com/

http://www.exmaple.com/

应该返回

http://www.exmaple.com/

没有任何变化

这是我试过的

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

但它返回

http://www.exmaple.com/boo/a.php

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

最佳答案

请像这样使用 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'

关于python - 在 python 中从 URL 中删除 GET 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14216998/

相关文章:

python - 只打印第n个素数序列,python

python - 在 Numpy 中沿轴减少多维字符串数组

python - 使所有变量成为全局变量

.net - 不包含单词列表的正则表达式匹配序列 (.NET)

java - 如何找到与 java 中的输入匹配的正则表达式模式部分?

java - 如何编写在指定字符串处停止的正则表达式?

javascript - 代表许多数组的唯一索引的数字

python - 验证 sqlalchemy session

python - 如何避免冗余并将过滤器应用于字符串组合

algorithm - 如何找到最长的回文子序列?