在Python中将not_camel_case转换为notCamelCase和/或NotCamelCase?

joh*_*n2x 1 python

基本上,相反.这是我的尝试,但它不起作用.

def titlecase(value):
    s1 = re.sub('(_)([a-z][A-Z][0-9]+)', r'\2'.upper(), value)
    return s1
Run Code Online (Sandbox Code Playgroud)

kin*_*all 9

def titlecase(value):
    return "".join(word.title() for word in value.split("_"))
Run Code Online (Sandbox Code Playgroud)

Python比正则表达式更具可读性,并且当它没有按照您的意愿行事时更容易修复.

如果你想要第一个字母小写,我会使用第二个函数调用上面的函数来完成大部分工作,然后只需缩小第一个字母:

def titlecase2(value):
     return value[:1].lower() + titlecase(value)[1:]
Run Code Online (Sandbox Code Playgroud)