我正在浏览一个目录以查找特定的文件名。我可以从每个文件名中删除文档标签 '.xml'
进行比较。问题是大约 10% 的标题末尾有一个六位数的时间戳。
file_list = os.listdir(directory_address)
for entry in file_list:
re.sub('\.xml$','', entry).upper()
#file name examples
filename_1 = 'normal_filename'
filename_2= 'another_normal_filename_A23'
filename_3 = 'stamped_file_name_085373'
我的程序不会立刻知道哪些文件有时间戳。有些文件(缺少时间戳)自然也会以一两个数字结尾。据我所知,只有标记的文件名才会以这种格式 _######
结尾。
如何使用正则表达式来识别末尾附加六位数字的文件名_######
并从字符串中删除这些数字以进行比较?
最佳答案
您可以使用 \d{6}$
模式精确匹配文件名末尾的 6 位数字,并使用 re.sub()
删除它们。 :
>>> import re
>>> filename = 'stamped_file_name_085373'
>>> filename = re.sub(r"_\d{6}$", "", filename)
>>> filename
'stamped_file_name'
关于python - 正则表达式: Remove Time-Stamp from File-Name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36583329/