本文实例讲述了Python实现的从右到左字符串替换方法。分享给大家供大家参考,具体如下:
一 . 前言
需要用到,但是发现python没有从右边开始替换的内置方法,默认的replace
只是从左边开始,就索性自己写个,有需求的自己可以在此基础上搞个python hack,给str增加个rreplace方法。
二. 实现
def rreplace(self,old,new,*max): count = len(self) if max and str(max[0]).isdigit(): count = max[0] while count: index = self.rfind(old) if index >= 0: chunk = self.rpartition(old) self = chunk[0] + new + chunk[2] count -= 1 return self
def rreplace(self,*max): count = len(self) if max and str(max[0]).isdigit(): count = max[0] return new.join(self.rsplit(old,count))
三. 用法
和 replace
基本一致
参数:
self -- 源字符串。
old -- 将被替换的子字符串。
new -- 新字符串,用于替换old子字符串。
max -- 可选字符串,替换不超过 max 次
返回:
被替换后的字符串
举几个用例比较下就清楚了:
print rreplace("lemon tree","e","3") print rreplace("lemon tree","3",1) print rreplace("lemon tree",2) print rreplace("lemon tree","tree","") print rreplace("lemon tree","notree","notmatch")
运行结果:
l3mon tr33
lemon tre3
lemon tr33
lemon
lemon tree
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python字符串操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
您可能感兴趣的文章:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。