我有一个文件夹,混合和匹配camelCase和非驼峰案例文件名。我在Python中使用它来删除下划线,并希望我可以轻松调整它以用'camel Case Example'替换'camelCaseExample':
folder = r"C:/....."
import os
pathiter = (os.path.join(root, filename)
for root, _, filenames in os.walk(folder)
for filename in filenames
)
for path in pathiter:
newname = path.replace('_', ' ')
if newname != path:
os.rename(path,newname)
任何人都可以帮我编辑这个以使它正在使用正则表达式吗?
我试过这个没有运气:
newname = path.replace('%[A-Z][a-z]%', ' ')
如果更容易,我也可以使用c#解决方案
您可能希望使用re
库尝试正则表达式。
import re
new_name = re.sub("(?=[A-Z])", " ", "testFileName")
print(new_name)
将输出:
test File Name
如果你希望它在此之后变成小写,你可以打电话
new_name = new_name.lower()
正则表达式正在做的是在大写字母之前寻找任何点并在那里替换空格。这个regex101 link将有助于更好地解释它。