python3中非camel大小写到camel大小写?

2024-09-26 18:08:44 发布

您现在位置:Python中文网/ 问答频道 /正文

这个程序的目的是把一些东西从普通的改成camelCase。例如:Not_camelCase->;Not camelCase或Camel_case to camelCase。在

def titlecase(value):
    return "".join(word.title() for word in value.split("_"))

def titlecase2(value):
    return value[:1].lower() + titlecase(value)[1:]
def to_camel(value):
    return titlecase2(value)

这输出了我想要的,但是。。。。。这是一个比赛,放入Not_An_nusms返回notAnSms而不是notAnSms?输入num2words也应该返回相同的结果,但是我的程序却像num2words一样将其大写。我该怎么解决这些问题?在

编辑: 我必须改变函数内部的东西,而不是输出,因为comp直接检查函数,特别是要检查。在


Tags: to函数gt程序目的returnvaluedef
2条回答

如果希望Not_An_SMS返回notAnSms,则必须停止使用word.title()函数,而只使用每个单词的第一个字母大写/小写,但保留其他单词的大小写。在

这仍然意味着SMS_status将返回sMSStatus,但我想这可以被视为一个例外。如果你想解决这个问题,你需要有一本词汇词典,这样你就可以判断出某个词是否是一个词。这当然不在竞争范围之内。在

这个简化的部件是从轨道上偷来的:

acronyms={}
def camelize(identifier, upper_first=False):
    words = identifier.split('_')
    if upper_first:
        return ''.join(acronyms.get(w) or w.capitalize() for w in words)
    else:
        return (acronyms.get(words[0]) or words[0].lower()) + \
               ''.join(acronyms.get(w) or w.capitalize() for w in words[1:])

acronyms['SMS']='SMS'

相关问题 更多 >

    热门问题