如何批量从多个URL链接中提取末尾的数字ID
从给定URL提取目标数字的实现方法
观察你提供的URL结构可以发现,需要提取的数字固定是URL路径的最后一段,因此不需要复杂的正则匹配,以下是几种不同场景下的可行方案:
方案1:Shell命令行快速处理(适合有Linux/Mac环境、或Windows安装了Git Bash的用户)
将所有URL保存为urls.txt文件(每行一个URL),执行以下命令即可直接输出结果:
awk -F '/' '{print $NF}' urls.txt
如果是已经复制了URL到剪贴板,可直接执行管道命令:
- Mac系统:
pbpaste | awk -F '/' '{print $NF}' - Linux系统:
xclip -o | awk -F '/' '{print $NF}'
方案2:Excel/在线表格工具处理(适合不会代码的用户)
- 把所有URL粘贴到表格的A列
- 在B1单元格输入以下公式,按回车后下拉填充整列即可得到所有结果:
=RIGHT(A1,LEN(A1)-FIND("~",SUBSTITUTE(A1,"/","~",LEN(A1)-LEN(SUBSTITUTE(A1,"/","")))))
方案3:Python代码批量处理(适合需要处理大量URL、或要集成到业务流程的场景)
示例代码如下:
# 读取URL文件 with open("urls.txt", "r", encoding="utf-8") as f: url_list = [line.strip() for line in f if line.strip()] # 提取最后一段路径的数字 result = [url.split("/")[-1] for url in url_list] # 打印结果 for item in result: print(item) # 如需保存到文件可取消注释以下代码 # with open("output.txt", "w", encoding="utf-8") as f: # f.write("\n".join(result))
特殊场景兼容
如果后续URL末尾带有查询参数(形如https://xxx/12345?param=xxx),只需要先截断问号后的内容再拆分即可,Python修改为url.split("?")[0].split("/")[-1]即可兼容。
内容的提问来源于stack exchange,提问作者Peters7
相关产品推荐
相关产品推荐

