如何裁剪字符串,移除列表文件名中点号与pdf后缀之间的数字字符
实现方案
方法1:字符串分割拼接(无需引入额外依赖,性能最优)
逻辑:把每个文件名按.符号拆分,取第一部分(前缀名)和最后一部分(后缀名)直接拼接即可。
file_name = ['a.3903902.pdf','b.3432312.pdf','c.239002191.pdf','d.23423192010.pdf'] new_file_name = [f"{item.split('.')[0]}.{item.split('.')[-1]}" for item in file_name] print(new_file_name)
运行后输出为:['a.pdf', 'b.pdf', 'c.pdf', 'd.pdf']
方法2:正则替换(适配性更强,可兼容后续文件名规则微调场景)
逻辑:匹配.+连续数字+.的规则片段,直接替换为单个.即可。
import re file_name = ['a.3903902.pdf','b.3432312.pdf','c.239002191.pdf','d.23423192010.pdf'] new_file_name = [re.sub(r'\.\d+\.', '.', item) for item in file_name] print(new_file_name)
内容的提问来源于stack exchange,提问作者Rikky Bhai
相关产品推荐
相关产品推荐

