我有一些文件名包含了一些多余的话,我想摆脱的,如:VIS,THE等等。我是这个正则表达式,但问题是要删除的单词可以出现在文件名的前面或后面。为了更清楚,一些文件名示例是:filenames = ['a_VIS-MarnehNew_24RGB_1110.jpg', 'Marne_04_Vis.jpg', 'VIS_jeep_smoke.jpg', 'IR_fk_ref_01_005.jpg', 'c_LWIR-MarnehNew_24RGB_1110.jpg', 'LWIR-MarnehNew_15RGB_603.jpg', 'Movie_01_IR.jpg', 'THE_fk_ge_03_005.jpg']多余的词是VIS, Vis, IR, LWIR,THE以及出现在前面的每个字符或出现在后面的每个字符。正确的例子是:filenames = ['MarnehNew_24RGB_1110', 'Marne_04', 'jeep_smoke', 'fk_ref_01_005', 'MarnehNew_24RGB_1110', 'MarnehNew_15RGB_603', 'Movie_01', 'fk_ge_03_005']我试过这段代码,但是(显然它对于后面的情况是不够的:import repattern = re.compile('(?:VIS|Vis|IR|LWIR)(?:-|_)(\w+)')for i, filename in enumerate(filenames): matches = re.search(pattern, filename) if matches: print(i, matches.group(1))0 MarnehNew_24RGB_11102 jeep_smoke3 fk_ref_01_0054 MarnehNew_24RGB_11105 MarnehNew_15RGB_603那么,我如何设法也摆脱背单词呢?
添加回答
举报
0/150
提交
取消