一,正则的替换
import re
lanuage='PythonC#JavaC#PHPC#'
r=re.sub('C#','Go',lanuage,1) #sub替换函数 ,第一个参数为要被替换的单词如:C#,第二个参数为被替换成为的结果单词如:GO,第三个参数为字符集如:lanuage,第四个参数为被替换的次数,默认为0表示无限替换,不设限制。正例为1表示只替换一次,第五个参数为模式,可忽略。
print(r)
结果:PythonGOJavaC#PHPC#
上面的sub函数也可以用replace代替
lanuage.replace('C#','GO') # 但要注意,pyhton语言中str是不可变的,所以不可被更换的。当要打印时要赋值给变量
tngh=lanuage.replace('C#','GO') #此时才能打印
print(tngh)
二,动态替换
import re
lanuage='PythonC#JavaC#PHPC#'
def convert(value):
matched=value.group() #当C#以value值的形式传入到convert函数中时,是一个对象object的形式,所以无法直接输出或打印,要通过group()函数转换。
return '||'+matched+'||'
r=re.sub('C#',convert,lanuage) #以函数为替换结果
print(r)
结果:Python||C#||Java||C#||PHP||C#||