从python中的URL中删除GET变量

用户

我有这个网址:

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

我想要的输出是这样的:

^{pr2}$

如果我有智慧的话

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

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


已被浏览了9810次
更新日期: 2020-09-28 00:46:44
3 个回答
fefe Tyson

可能有一种更优化的方法来实现这一点,但有了这个方法,您就不需要晦涩难懂的导入或第三方软件包。在

^{1}$
评论 - 2020年8月7日 16:58
fefe Tyson

请使用stdliburlparse模块,如下所示。一般来说,我尽量避免使用正则表达式,除非它是绝对必要的。在

^{1}$
评论 - 2020年8月7日 16:58
fefe Tyson

我会这样做:

^{1}$

删除最后“/”之后的所有内容。我不确定它包括所有的特殊情况。。。在

编辑:使用urlparse和我的简单rfind的新解决方案:

^{pr2}$

然后:

In [36]: url_cutter("http://www.exmaple.com/boo/a.php?a=jsd")
Out[36]: 'http://www.exmaple.com/boo/'

In [37]: url_cutter("http://www.exmaple.com/boo/a.php?a=jsd#dvt_on")
Out[37]: 'http://www.exmaple.com/boo/'

In [38]: url_cutter("http://www.exmaple.com")
Out[38]: 'http://www.exmaple.com'
评论 - 2020年8月7日 16:58

最新Python问答

推荐Python问答