如何使用Python或c#替换文件夹中所有文件中的camelCasing?

问题描述 投票:0回答:1

我有一个文件夹,混合和匹配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#解决方案

c# python camelcasing
1个回答
2
投票

您可能希望使用re库尝试正则表达式。

import re
new_name = re.sub("(?=[A-Z])", " ", "testFileName")
print(new_name)

将输出:

test File Name

如果你希望它在此之后变成小写,你可以打电话

new_name = new_name.lower()

正则表达式正在做的是在大写字母之前寻找任何点并在那里替换空格。这个regex101 link将有助于更好地解释它。

© www.soinside.com 2019 - 2024. All rights reserved.