替换列表中的字符串(使用re.sub)

时间:2017-11-27 18:40:16

标签: python

我正在尝试替换文件列表中的部分文件扩展名。我希望能够遍历项目(文件),并删除扩展。当re.sub作为第三个参数需要字符串时,我不知道如何适当地循环列表中的项目。例如。 re.sub(pattern,repl,string,count = 0,flags = 0)

import re

file_lst = ['cats1.fa', 'cats2.fa', 'dog1.fa', 'dog2.fa']
file_lst_trimmed =[]

for file in file_lst:
    file_lst_trimmed = re.sub(r'1.fa', '', file)

这里出现的问题是re.sub需要一个字符串,我希望它循环遍历一个字符串列表。

感谢您的任何建议!

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

import re
file_lst = ['cats1.fa', 'cats2.fa', 'dog1.fa', 'dog2.fa']
final_list = [re.sub('\d+\.\w+$', '', i) for i in file_lst]

输出:

['cats', 'cats', 'dog', 'dog']