首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Python或c#替换文件夹中所有文件中的camelCasing?

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

Stack Overflow用户
提问于 2017-12-22 11:02:11
回答 1查看 341关注 0票数 0

我有一个文件夹,其中包含camelCase和非camel案例文件名的混合和匹配。我在Python语言中用它去掉了下划线,并希望我可以轻松地调整它,将'camelCaseExample‘替换为'camel Case Example':

代码语言:javascript
复制
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)

有没有人能帮我编辑一下,让它在regex下工作?

我试过了,但没有成功:

代码语言:javascript
复制
newname =  path.replace('%[A-Z][a-z]%', ' ')

我也可以使用c#解决方案,如果这会更容易的话

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-22 11:11:24

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

代码语言:javascript
复制
import re
new_name = re.sub("(?=[A-Z])", " ", "testFileName")
print(new_name)

将输出:

代码语言:javascript
复制
test File Name

如果你想让它在这之后是小写的,你可以调用

代码语言:javascript
复制
new_name = new_name.lower()

正则表达式所做的是查找紧接在大写字母前面的任何点,并在那里替换一个空格。此regex101 link将帮助更好地解释它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47935339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档