在python中,可以去除所有特殊字符和空格,并用连字符替换,但保留点扩展名(即文件扩展名,如.mp4或.mov或.txt或.jpg或.png或.pdf)
例如:
Special-characters-spaces_-888323.mp4
应该导致
re.sub('(\W+)','-', string).replace('-mp4','.mp4').replace('-mov','.mov')
我使用以下方法,但不认为它是正确的方法
invokeRequest
答案 0 :(得分:2)
如果这是您正在处理的文件名,请考虑使用os.path.splitext
临时分离扩展程序:
name, ext = os.path.splitext(string)
现在,您可以name
自由操作,保持ext
完好无损:
name = re.sub('(\W+)','-', name)
然后你重新组合:
string = name + ext
如果你觉得这不是一个单行,那么就把它变成一个功能。我还建议预编译正则表达式。