Python实现的从右到左字符串替换方法示例
本文实例讲述了Python实现的从右到左字符串替换方法。分享给大家供大家参考,具体如下:
一.前言
需要用到,但是发现python没有从右边开始替换的内置方法,默认的replace只是从左边开始,就索性自己写个,有需求的自己可以在此基础上搞个pythonhack,给str增加个rreplace方法。
二.实现
利用python的其它内置方法,11行代码就可以了
defrreplace(self,old,new,*max): count=len(self) ifmaxandstr(max[0]).isdigit(): count=max[0] whilecount: index=self.rfind(old) ifindex>=0: chunk=self.rpartition(old) self=chunk[0]+new+chunk[2] count-=1 returnself
学无止境,最后搜索发现有种核心代码只有1行的实现方法
defrreplace(self,old,new,*max): count=len(self) ifmaxandstr(max[0]).isdigit(): count=max[0] returnnew.join(self.rsplit(old,count))
三.用法
和replace基本一致
参数:
self-- 源字符串。
old -- 将被替换的子字符串。
new -- 新字符串,用于替换old子字符串。
max -- 可选字符串,替换不超过max次
返回:
被替换后的字符串
举几个用例比较下就清楚了:
printrreplace("lemontree","e","3")
printrreplace("lemontree","e","3",1)
printrreplace("lemontree","e","3",2)
printrreplace("lemontree","tree","")
printrreplace("lemontree","notree","notmatch")
运行结果:
l3montr33
lemontre3
lemontr33
lemon
lemontree
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python字符串操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。