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

Posted 北风之神0509

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了驼峰法和下划线命名法的互相转换相关的知识,希望对你有一定的参考价值。

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

 

以上是关于驼峰法和下划线命名法的互相转换的主要内容,如果未能解决你的问题,请参考以下文章

大驼峰命名法和小驼峰命名法的区别

notepad++,vim驼峰命名与下划线的互相转换

帕斯卡命名法和骆驼命名法

Oracle为啥不支持驼峰命名法

JavaScript 实现字符串驼峰式与下划线式互相转换

java(android)命名规范