在python中PEP8 Python 编码规范推荐使用下划线对变量名,方法名进行命名,但是从Java转过来的命名方式很难改变,有时候就需要让驼峰与下划线互转。@classmethod
def ltrim(cls, haystack, left=""):
if cls.isEmpty(haystack):
return haystack
elif cls.isEmpty(left):
return haystack.lstrip()
else:
return haystack.lstrip(left)
@classmethod
def camelize(cls, uncamelized, separator="_"):
uncamelized = separator + uncamelized.lower().replace(separator, " ")
return cls.ltrim(string.capwords(uncamelized).replace(" ", ""), separator)
@classmethod
def uncamelize(cls, camelCaps, separator="_"):
pattern = re.compile(r'([A-Z]{1})')
sub = re.sub(pattern, separator+r'\1', camelCaps).lower()
return sub
需要依赖re(用于正则替换)、string模块(用于让一句英文单词首字母大写),还需要实现ltrim方法