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

主要是接口入参太多,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()

 

posted @ 2018-01-02 15:15  北风之神0509  阅读(1767)  评论(0编辑  收藏  举报