替换字符串函数sub 可以将匹配的字符串替换成想要的字符串,并且替换方式可以自定义,可以传入一个自定义的函数对匹配到的字符串进行高级处理
sub(pattern, repl, string, count=0, flages=0)
pattern:正则
repl:查找替换的字符串,或者一个函数,函数的返回值就是最终替换的结果
string:匹配成功后要替换成的字符串
count:替换测次数,0表示全部替换
flages:模式
import re
language = 'PythonC#JavaPHPC#PHPC#'
# 把 C#转换为go
r = re.sub('C#','GO',language)
print(r)
def convert(value):
matched = value.group()
return '!!' + matched + '!!'
language = 'PythonC#JavaPHPC#PHPC#'
r = re.sub('C#', convert, language)
print(r)
定义一个将参数大于6的数值返回9,参数小于6的返回0
def convert(value):
matched = value.group()
if int(matched) >= 6:
return '9'
else:
return '0'
# 将匹配的的数字根据4舍5入法进行替换
r = re.sub('\d', convert, s)
print(r)