You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何清理URL并提取文件名?技术实现方法问询

从URL中提取文件名的几种实用方法

嘿,这里有几个简单直接的办法帮你把那些URL里的前缀去掉,只留下文件名,适配不同的使用场景:

方法1:用命令行快速处理(适用于批量URL)

如果你的URL都存在一个文本文件里(比如叫urls.txt),可以用bash的awk命令一键提取:

cat urls.txt | awk -F '/' '{print $NF}'

原理很简单:-F '/'把每一行按斜杠分割成字段,$NF代表取最后一个字段,也就是我们要的文件名。

你也可以用cut命令(适合路径段数固定的情况):

cat urls.txt | cut -d '/' -f 7

这里的-f 7是因为你的URL结构是http://domain/upload/iblock/xxx/filename,数下来文件名是第7个字段。

方法2:用Python脚本灵活处理

如果需要集成到代码里,Python的os.path模块或者urllib模块都能轻松搞定:

方式A:用os.path.basename

import os

urls = [
    "http://isonex.ru/upload/iblock/ebd/ebdbd2a3961fc73170978ae4995b5a4b.jpeg",
    "http://isonex.ru/upload/iblock/62a/62a5e49b20e498bfef00d81fa03403c8.jpeg"
]

for url in urls:
    print(os.path.basename(url))

方式B:用urllib.parse处理更规范的URL

如果URL里有特殊字符,这个方法更稳妥:

from urllib.parse import urlsplit
import os

urls = [
    "http://isonex.ru/upload/iblock/ebd/ebdbd2a3961fc73170978ae4995b5a4b.jpeg",
    "http://isonex.ru/upload/iblock/62a/62a5e49b20e498bfef00d81fa03403c8.jpeg"
]

for url in urls:
    path = urlsplit(url).path
    print(os.path.basename(path))

方法3:用文本编辑器的正则替换(适合手动少量处理)

如果你用VS Code、Sublime Text这类编辑器,打开包含URL的文件后:

  1. 打开替换功能(VS Code是Ctrl+H)
  2. 勾选「正则表达式」选项
  3. 查找内容填:^.*\/
  4. 替换内容留空
  5. 点击「全部替换」,所有URL就只剩下文件名了

这个正则的意思是:匹配从行开头到最后一个斜杠的所有内容,替换为空,就剩下后面的文件名啦。

内容的提问来源于stack exchange,提问作者Alexey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:25:43