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

主要是接口入参太多,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 @   北风之神0509  阅读(1771)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示