为了账号安全,请及时绑定邮箱和手机立即绑定

使用正则表达式删除部分网址

使用正则表达式删除部分网址

慕码人2483693 2023-03-16 15:56:56
这是网址:url = "www.face.com/me/4000517004580.html?gps-id=5547572&scm=1007.19201.130907.0&scm_id=1007.19201.130907.0&scm-url=1007.19201.130907.0&pvid=56aacc48-cc78-4cb9-b176-c9acb7a0662c"我需要删除.html之后的部分,所以它变成:"www.face.com/me/4000517004580.html"
查看完整描述

4 回答

?
青春有我

TA贡献1784条经验 获得超8个赞

您可以使用 python 的urllib将 url 解析为多个部分,然后从 url 中删除查询字符串

from urllib.parse import urlparse

url = "www.face.com/me/4000517004580.html?gps-id=5547572&scm=1007.19201.130907.0&scm_id=1007.19201.130907.0&scm-url=1007.19201.130907.0&pvid=56aacc48-cc78-4cb9-b176-c9acb7a0662c"


parse_result = urlparse(url)

url = parse_result._replace(query="").geturl()  # Remove query from url


查看完整回答
反对 回复 2023-03-16
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

尝试:

url.split('.html')[0]+'.html'

结果:

'www.face.com/me/4000517004580.html'


查看完整回答
反对 回复 2023-03-16
?
当年话下

TA贡献1890条经验 获得超9个赞

内置urllib库可以在这里使用。


from urllib.parse import urljoin, urlparse


url = 'www.face.com/me/4000517004580.html?gps-id=5547572&scm=1007.19201.130907.0&scm_id=1007.19201.130907.0&scm-url=1007.19201.130907.0&pvid=56aacc48-cc78-4cb9-b176-c9acb7a0662c' 

output = urljoin(url, urlparse(url).path) 


查看完整回答
反对 回复 2023-03-16
?
侃侃无极

TA贡献2051条经验 获得超10个赞

当您不确定如何解决问题时,我建议您从一些文档开始。例如,您可以查看字符串方法常用字符串操作

滚动浏览此列表,您将了解该find()功能:

返回在切片 s[start:end] 中找到子字符串 sub 的字符串中的最低索引。可选参数 start 和 end 被解释为切片符号。如果未找到 sub,则返回 -1。

所以要找到"?"你可以这样做:

i = url.find("?")

与其考虑如何删除部分字符串,不如考虑如何保留我们想要的部分。我们可以用切片来做到这一点:

url = url[:i]


查看完整回答
反对 回复 2023-03-16
  • 4 回答
  • 0 关注
  • 83 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信