Python实现的从右到左字符串替换方法示例


Posted in Python onJuly 06, 2018

本文实例讲述了Python实现的从右到左字符串替换方法。分享给大家供大家参考,具体如下:

一 . 前言

需要用到,但是发现python没有从右边开始替换的内置方法,默认的replace只是从左边开始,就索性自己写个,有需求的自己可以在此基础上搞个python hack,给str增加个rreplace方法。

二. 实现

利用python 的其它内置方法,11行代码就可以了

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

学无止境,最后搜索发现有种核心代码只有1行的实现方法

def rreplace(self, old, new, *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", "e", "3", 1)
print rreplace("lemon tree", "e", "3", 2)
print rreplace("lemon tree", "tree", "")
print rreplace("lemon tree", "notree", "notmatch")

运行结果:

l3mon tr33
lemon tre3
lemon tr33
lemon
lemon tree

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python中的XML库4Suite Server的介绍
Apr 14 Python
在Linux命令行终端中使用python的简单方法(推荐)
Jan 23 Python
python实现给微信公众号发送消息的方法
Jun 30 Python
python监控键盘输入实例代码
Feb 09 Python
PyQt5 QSerialPort子线程操作的实现
Apr 21 Python
opencv python 傅里叶变换的使用
Jul 21 Python
解决Django中修改js css文件但浏览器无法及时与之改变的问题
Aug 31 Python
np.dot()函数的用法详解
Jan 17 Python
python利用百度云接口实现车牌识别的示例
Feb 21 Python
Python爬虫基于lxml解决数据编码乱码问题
Jul 31 Python
python-for x in range的用法(注意要点、细节)
May 10 Python
python playwrigh框架入门安装使用
Jul 23 Python
Python用csv写入文件_消除空余行的方法
Jul 06 #Python
Python实现string字符串连接的方法总结【8种方式】
Jul 06 #Python
python 读取目录下csv文件并绘制曲线v111的方法
Jul 06 #Python
Python 爬虫之Beautiful Soup模块使用指南
Jul 05 #Python
Python实现模拟登录网易邮箱的方法示例
Jul 05 #Python
python selenium自动上传有赞单号的操作方法
Jul 05 #Python
python实现爬取图书封面
Jul 05 #Python
You might like
PHP实现的简单日历类
2014/11/29 PHP
PHP防止图片盗用(盗链)的方法小结
2016/11/11 PHP
tp5递归 无限级分类详解
2019/10/18 PHP
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
javascript EXCEL 操作类代码
2009/07/30 Javascript
基于jquery的loading效果实现代码
2010/11/05 Javascript
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
关于scrollLeft,scrollTop的浏览器兼容性测试
2013/03/19 Javascript
jQuery的$.proxy()应用示例介绍
2014/04/03 Javascript
Javascript数据结构与算法之列表详解
2015/03/12 Javascript
javascript事件冒泡实例分析
2015/05/13 Javascript
老生常谈JQuery data方法的使用
2016/09/09 Javascript
vue如何引用其他组件(css和js)
2017/04/13 Javascript
vue中Npm run build 根据环境传递参数方法来打包不同域名
2018/03/29 Javascript
vue+element实现表单校验功能
2019/05/20 Javascript
基于mpvue的简单弹窗组件mptoast使用详解
2019/08/02 Javascript
vue中解决微信html5原生ios虚拟键返回不刷新问题
2020/10/20 Javascript
[01:14:31]Secret vs VG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
[36:33]完美世界DOTA2联赛循环赛 Matador vs Forest 第一场 11.06
2020/11/06 DOTA
简单介绍Python的Django框架加载模版的方式
2015/07/20 Python
编写Python爬虫抓取暴走漫画上gif图片的实例分享
2016/04/20 Python
Python实现的将文件每一列写入列表功能示例【测试可用】
2018/03/19 Python
python版飞机大战代码分享
2018/11/20 Python
使用IDLE的Python shell窗口实例详解
2019/11/19 Python
浅谈Python中threading join和setDaemon用法及区别说明
2020/05/02 Python
python 读取yaml文件的两种方法(在unittest中使用)
2020/12/01 Python
利用CSS3的特性改变文本选中时的颜色
2013/09/11 HTML / CSS
豆腐の盛田屋官网:日本自然派的豆乳面膜、肥皂、化妆水、乳液等
2016/10/08 全球购物
理肤泉英国官网:La Roche-Posay英国
2019/01/14 全球购物
介绍一下XMLHttpRequest对象的常用方法和属性
2013/05/24 面试题
施工班组长岗位职责
2014/01/05 职场文书
入党综合考察材料
2014/06/02 职场文书
党员批评与自我批评总结
2014/10/15 职场文书
会议开幕词
2015/01/28 职场文书
行政申诉状范文
2015/05/20 职场文书
JS 4个超级实用的小技巧 提升开发效率
2021/10/05 Javascript