python 给文本加下划线_python 驼峰和下划线字符串互转

在习惯了别的语言的小驼峰命名后,转python命名规范需要下划线,就会用到转换。

python驼峰和下划线字符串互转主要用 内置的re模块的一个字符串替换函数,支持正则替换。

"驼峰"和"下划线"字符串之间的相互转换

def hump2underline(hunp_str):

''' 驼峰形式字符串转成下划线形式 :param hunp_str: 驼峰形式字符串 :return: 字母全小写的下划线形式字符串 '''

# 匹配正则,匹配小写字母和大写字母的分界位置

p = re.compile(r'([a-z]|\d)([A-Z])')

# 这里第二个参数使用了正则分组的后向引用

sub = re.sub(p, r'\1_\2', hunp_str).lower()

return sub

def underline2hump(underline_str):

''' 下划线形式字符串转成驼峰形式 :param underline_str: 下划线形式字符串 :return: 驼峰形式字符串 '''

# 这里re.sub()函数第二个替换参数用到了一个匿名回调函数,回调函数的参数x为一个匹配对象,返回值为一个处理后的字符串

sub = re.sub(r'(_\w)',lambda x:x.group(1)[1].upper(),underline_str)

return sub

JSON字符串字段名的"驼峰"转"下划线"

def json_hump2underline(hump_json_str):

''' 把一个json字符串中的所有字段名都从驼峰形式替换成下划线形式。

注意点:因为考虑到json可能具有多层嵌套的复杂结构,所以这里直接采用正则文本替换的方式进行处理,而不是采用把json转成字典再进行处理的方式

:param hump_json_str: 字段名为驼峰形式的json字符串 :return: 字段名为下划线形式的json字符串 '''

# 从json字符串中匹配字段名的正则

# 注:这里的字段名只考虑由英文字母、数字、下划线组成

attr_ptn = re.compile(r'"\s*(\w+)\s*"\s*:')

# 使用hump2underline函数作为re.sub函数第二个参数的回调函数

sub = re.sub(attr_ptn,lambda x : '"' + hump2underline(x.group(1)) + '" :',hump_json_str)

return sub

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值