驼峰法和下划线命名法的互相转换

主要是接口入参太多,python和java的命名不同,做个转换

# coding:utf8
import re

class StrTransverter(object):
    p = re.compile(r'([a-z]|d)([A-Z])')
    p2 = re.compile(r'(_w)')

    def __init__(self,raw_str):
        self.raw_str = raw_str

    def hump2underline(self):
        """
        驼峰法转换为下划线
       
        """
        sub_str = self.p.sub(r'1_2',self.raw_str).lower()
        return sub_str

    def underline2hum(self):
        """
        下划线转换为驼峰法
         """
        sub_str = self.p2.sub(lambda x:x.group(1)[1].upper(), self.raw_str)
        return  sub_str

print StrTransverter('abCd').hump2underline()
print StrTransverter('ab_cd').underline2hum()
原文地址:https://www.cnblogs.com/ydf0509/p/8177327.html