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

如何提取图片文件名中_digit部分之前的文本?

提取多下划线图片名中数字前缀前的文本

针对你遇到的多下划线图片名提取需求,用正则表达式可以轻松解决,这里提供两种实用方法:

方法一:替换末尾的数字后缀

用re.sub把最后面的_数字.jpg部分替换为空字符串,剩下的就是目标文本:

import re

name = 'Egyptian_Mau_214.jpg'
target_name = re.sub(r'_\d+\.jpg$', '', name)
print(target_name)  # 输出: Egyptian_Mau

正则说明:

  • _\d+:匹配下划线开头,后面跟一个或多个数字
  • \.jpg$:匹配.jpg结尾($确保只匹配字符串末尾的后缀)

方法二:捕获前缀内容

用re.findall直接捕获最后一个下划线之前的所有内容:

import re

name = 'Egyptian_Mau_214.jpg'
target_name = re.findall(r'^(.*)_\d+\.jpg$', name)[0]
print(target_name)  # 输出: Egyptian_Mau

正则说明:

  • ^(.*):从字符串开头开始,捕获所有内容直到遇到最后一个符合要求的下划线
  • 后面的_\d+\.jpg$匹配末尾的数字后缀,确保捕获的是正确的前缀部分

这两种方法同样适用于单下划线的场景(比如Abyssinian_1.jpg),测试后都能正确提取出Abyssinian。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 15:35:04