Skip to main content
 首页 » 编程设计

python :SomeStingLikeThis 到 some_string_like_this

2025年05月04日17davidwang456

我正在寻找一种在 Python 中转换命名约定的解决方案。例如。 SomeStringLikeThis 的输入将给出 some_string_like_this 的输出。

是否有一种 pythonic 方法可以实现上述目标?我在这里期待 python 大师的一些神奇答案。 :)

请您参考如下方法:

你可以这样做

import re 
 
def split_caps(s): 
    return "_".join(re.findall('[A-Z][^A-Z]*', s)).lower() 
 
print split_caps("SomeStringLikeThis") 
# some_string_like_this 

这是有效的,因为 re.findall('[A-Z][^A-Z]*', s) 将字符串拆分为单独的大写单词 ( as described here ):

re.findall('[A-Z][^A-Z]*', s) 
# ['Some', 'String', 'Like', 'This'] 

"_".join 用 _ 个字符加入一个列表,所以

"_".join(re.findall('[A-Z][^A-Z]*', s)) 
# Some_String_Like_This 

和.lower() 使字符串小写。