在处理字符串时,我们可能遇到的使用场景不仅仅是需要找到其中的部分匹配子串,有时候更需要灵活的替换掉匹配到的项。
仅仅是替换成一个固定的字符,其实是一种类似于字符串中replace的功能。
如果需要替换的部分,与原来的匹配子串有关,这种情形下,就是正则表达式函数re.sub的适用场景了。
例如,我现在有一个字符串 ’ 12-cc3’ ,我想把其中的数字加3,
即12变成15 , 3变成6 ,最终输出 ’ 15-cc6 ‘
这时候用re.sub一行代码就可以完成
re.sub('\d{1,2}',lambda x:str(int(x.group(0))+3),'11-9')
>>'14-12'
其实没有什么难点,读一下re.sub的说明文档就很清楚了。
关键就是第二个参数可以定义为一个函数,这个函数用lambda完成真是再方便不过了。
好,流水账完成。