python - 在这种情况下如何提取 url 的一部分?

标签 python regex string

所以我需要一种方法从公共(public) Dropbox 网址中提取文件名,而不使用 API,我得出的结论是 Dropbox 中的所有共享链接都是这样制作的:

dropbox.com/s/{random alphanemucric string}/{file name}

例如我有这个链接:

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

如何从此网址中提取“checklist%281%29.pdf”部分,我不知道如何使我的正则表达式提取此部分。

最佳答案

使用urlparse.urlsplit ,

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

之前的回答,

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

关于python - 在这种情况下如何提取 url 的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37574904/

相关文章:

Python importlib import_module 模块的相对导入

regex - 隐藏猫提示错误

c# - 如何匹配正则表达式模式并从中提取数据

python - 从扫描的 PDF 中提取文本,而不将扫描保存为新的文件图像

python - 如何使用 DRF3 获取 Django 中的整个 JSON 对象?

Javascript 替换输入上的按键

c# - 为什么 List<string>.Sort() 很慢?

c - 在 C 中,为什么不能在声明后将字符串分配给 char 数组?

python - 重新索引排序系列

regex - SQLite3 正则表达式和模式约束