如何在Python中高效地将CamelCase转换为snake_case?

Susan Sarandon
发布: 2024-10-28 00:20:29
原创
220 人浏览过

How to efficiently convert CamelCase to snake_case in Python?

Python 中 CamelCase 到 Snake_case 的转换

CamelCase 到 Snake_case 的转换是 Python 编程中的常见转换。本问题重点在于寻找一种有效的方法来执行此任务。

建议的解决方案

提供的代码利用 re 模块来实现此转换:

导入 re

name = 'CamelCaseName'
name = re.sub(r'(?print(name) #camel_case_name

此代码使用正则表达式在大写字母前插入下划线,然后将结果字符串转换为小写。结果是所需的 Snake_case 表示。

替代方法

如果性能是一个问题,可以预先编译正则表达式:

模式= re.compile(r'(?name = pattern.sub('_', name).lower()

对于更高级的情况,可以使用双重替换传递:

def Camel_to_snake(name):

name = re.sub('(.)([A-Z][a-z]+)', r'_', name)
return re.sub('([a-z0-9])([A-Z])', r'_', name).lower()
登录后复制

此外,可以扩展代码来处理多个下划线:

def to_snake_case(name):

name = re.sub('(.)([A-Z][a-z]+)', r'_', name)
name = re.sub('__([A-Z])', r'_', name)
name = re.sub('([a-z0-9])([A-Z])', r'_', name)
return name.lower()
登录后复制

Snake_case 到 PascalCase 转换

此外,提供从snake_case到PascalCase的反向转换:

name = 'snake_case_name'
name = ''.join(word.title() for word in name.split('_'))
print(name) # SnakeCaseName

以上是如何在Python中高效地将CamelCase转换为snake_case?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!