2024-10-01 04:45:31 发布
网友
我有如下文件名,我需要将其更改为右侧格式
CK-123443-1.dft - CK-123443.dft CK-123344-A.dft - CK-123344.dft 123322-B.dft - 123322.dft
我尝试使用split('-'),但这并不适用于所有文件,因为有些文件有两个hipen,有些文件有一个hipen。我能不能找到解决这个问题的其他方法
我的代码与re: 我不确定这个重新表达
import re new = re.sub('-', '.', old)
解决方案:
import re #assuming that your file is called file_name new_name = re.sub('-[A-Za-z0-9]\.', '.', file_name) #this replaces the characters after the last hyphen and before the extension.
我认为使用正则表达式可以很容易地做到这一点-在我告诉您要匹配什么模式之前,我需要更清楚地说明您希望名称如何更改-您是否希望保留任何前导字母字符并删除连字符后和扩展名前的所有尾随字符
如果确定目录中的每个文件名都有一个需要删除的连字符,则可以在连字符处拆分,并且只排除最后拆分的部分
比如说:
name, ext = file_name.split('.') # Get the 'dft' part aside new_name = ''.join(name.split('-')[:-1]) + f'.{ext}'
解决方案:
我认为使用正则表达式可以很容易地做到这一点-在我告诉您要匹配什么模式之前,我需要更清楚地说明您希望名称如何更改-您是否希望保留任何前导字母字符并删除连字符后和扩展名前的所有尾随字符
如果确定目录中的每个文件名都有一个需要删除的连字符,则可以在连字符处拆分,并且只排除最后拆分的部分
比如说:
相关问题 更多 >
编程相关推荐