首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在这种情况下,如何超出一个网址的一部分?

在这种情况下,如何超出一个网址的一部分?
EN

Stack Overflow用户
提问于 2016-06-01 17:08:22
回答 2查看 33关注 0票数 2

因此,我需要一种从公共dropbox urls中提取文件名的方法,而无需使用API,我得出的结论是,Dropbox中的所有共享链接都是这样的:

代码语言:javascript
复制
dropbox.com/s/{random alphanemucric string}/{file name}

例如,我有以下链接:

代码语言:javascript
复制
https://www.dropbox.com/s/sbyuft7zscqzgbs/checklist%281%29.pdf?dl=0

如何从这个网址提取“核对表%281%29.pdf”部分,我不知道如何使我的正则表达式提取这一点。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-01 17:18:43

您可以执行以下操作:

代码语言:javascript
复制
>>> name = 'https://www.dropbox.com/s/sbyuft7zscqzgbs/checklist%281%29.pdf?dl=0'
>>> name.split('/')[-1].split('?')[0]
'checklist%281%29.pdf'

split("/")[-1]在最后一个斜杠之后获取所有内容,split('?')[0]删除参数(如果有的话)。

票数 1
EN

Stack Overflow用户

发布于 2016-06-01 17:16:14

使用urlparse.urlsplit

代码语言:javascript
复制
import os
import urlparse 

url = 'https://www.dropbox.com/s/sbyuft7zscqzgbs/checklist%281%29.pdf?dl=0'

path = urlparse.urlsplit(url).path  # /s/sbyuft7zscqzgbs/checklist%281%29.pdf
filename = os.path.basename(path)   # checklist%281%29.pdf

先前的回答,

代码语言:javascript
复制
import os

url = 'https://www.dropbox.com/s/sbyuft7zscqzgbs/checklist%281%29.pdf?dl=0'
filename = os.path.basename(url).replace('?dl=0', '')

print(filename) # Output: checklist%281%29.pdf
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37574904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档