import re
def fix_name(name):
if name.endswith('.mp3'):
name = name[:-4]
return re.sub(r'^[0-9]+\. ', '', name)
a = ['01. The A Team.mp3', '02. Drunk.mp3', '03. UNI.mp3', '04. Grade 8.mp3']
print(list(map(fix_name, a)))
正则表达式将删除任何数字([0-9]+),后跟一个点和字符串开头的空格(.)。你知道吗
In: ['01. The A Team.mp3', '02. Drunk.mp3', '03. UNI.mp3', '04. Grade 8.mp3']
Out: ['The A Team', 'Drunk', 'UNI', 'Grade 8']
你想给你的字符串下标。尝试类似
[x[4:-4] for x in ['01. The A Team.mp3', '02. Drunk.mp3', '03. UNI.mp3', '04. Grade 8.mp3']]
的操作。你知道吗如果要更改的文件名可能包含
.mp3
以外的结尾,则需要修改一个解决方案,以实际验证您正在删除您希望删除的内容。你知道吗正则表达式将删除任何数字(
[0-9]+
),后跟一个点和字符串开头的空格(.
)。你知道吗map
将函数应用于列表中的每个元素,而创建列表需要list
,因为我们不会迭代来自map
(它是一个生成器)的结果。你知道吗相关问题 更多 >
编程相关推荐