python-字符串替换

Python (165) 2023-05-22 22:35:38

原字符串str:“hello word china”
被替换字符串oldstr:“world”
新替换的字符串newstr:“hi”
替换结果:hello hi china

实现:

第一种方法:直接调用replace()

defstrreplace(str,oldstr,newstr):

returnstr.replace(oldstr,newstr)
第二种方法:利用re模块正则
defstrreplace(str,oldstr,newstr):
#先编译正则
m=re.compile(oldstr)
##替换字符串中的匹配项
ret=m.sub(newstr,str)
returnret
第三种方法:实现替换函数
#找到替换字符的开始位置
defgetindex(str,key):
n1=len(str)
n2=len(key)
i=0
j=0
whilei<n1:
ifstr[i]!=key[j]:
i=i+1
else:
#index为开始位置
index=i
whilej<n2:
ifstr[i]==key[j]:
i+=1
j+=1
else:
#如果不相等继续找,替换字符串的下标重新开始,置为0
j=0
break
returnindex
return-1

defstrreplace(str,oldstr,newstr):
index=getindex(str,oldstr)
#print(index)
step=index+len(oldstr)
returnstr[:index]+newstr+str[step:]

替换结果

str=strreplace('helloworldchina','world','hi')

结果:hellohichina


THE END

发表回复