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中的MongoDB基本操作:连接、查询实例
Feb 13 Python
Python3中使用PyMongo的方法详解
Jul 28 Python
python3 发送任意文件邮件的实例
Jan 23 Python
python实现简单遗传算法
Mar 19 Python
Python 判断文件或目录是否存在的实例代码
Jul 19 Python
python之线程通过信号pyqtSignal刷新ui的方法
Jan 11 Python
基于python历史天气采集的分析
Feb 14 Python
python实现银联支付和支付宝支付接入
May 07 Python
windows环境中利用celery实现简单任务队列过程解析
Nov 29 Python
python计算波峰波谷值的方法(极值点)
Feb 18 Python
python编程实现清理微信重复缓存文件
Nov 01 Python
Python中itertools库的四个函数介绍
Apr 06 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多功能图片处理类分享(php图片缩放类)
2014/03/14 PHP
PHP查询快递信息的方法
2015/03/07 PHP
使用图灵api创建微信聊天机器人
2015/07/23 PHP
Yii2框架BootStrap样式的深入理解
2016/11/07 PHP
PHP数组相加操作及与array_merge的区别浅析
2016/11/26 PHP
微信小程序 消息推送php服务器验证实例详解
2017/03/30 PHP
动态样式类封装JS代码
2009/09/02 Javascript
js中方法重载如何实现?以及函数的参数问题
2013/08/01 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
2015/03/12 Javascript
原生Js实现简易烟花爆炸效果的方法
2015/03/20 Javascript
使用struts2+Ajax+jquery验证用户名是否已被注册
2016/03/22 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
2016/04/14 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
2020/05/21 Javascript
[02:44]完美大师赛主赛事淘汰赛第二日观众采访
2017/11/24 DOTA
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
解密Python中的描述符(descriptor)
2015/06/03 Python
Pycharm学习教程(7)虚拟机VM的配置教程
2017/05/04 Python
python执行使用shell命令方法分享
2017/11/08 Python
利用selenium 3.7和python3添加cookie模拟登陆的实现
2017/11/20 Python
python实现名片管理器的示例代码
2019/12/17 Python
python 类之间的参数传递方式
2019/12/20 Python
matplotlib之多边形选区(PolygonSelector)的使用
2021/02/24 Python
基于HTML5的WebSocket的实例代码
2018/08/15 HTML / CSS
推荐WEB开发者最佳HTML5和CSS3代码生成器
2015/11/24 HTML / CSS
amazeui页面分析之登录页面的示例代码
2020/08/25 HTML / CSS
MCM英国官网:奢侈皮具制品
2017/04/18 全球购物
购买一个高级域名:BuyDomains
2018/03/11 全球购物
澳大利亚婴儿喂养品牌:Cherub Baby
2018/11/01 全球购物
环境工程与管理大学毕业生求职信
2013/10/02 职场文书
大专毕业生简历的自我评价
2013/10/20 职场文书
怎样写好自我鉴定
2013/12/04 职场文书
公司人事任命通知
2015/04/20 职场文书
常用的MongoDB查询语句的示例代码
2021/07/25 MongoDB
详细谈谈JavaScript中循环之间的差异
2021/08/23 Javascript
JavaScript中MutationObServer监听DOM元素详情
2021/11/27 Javascript
MySQ InnoDB和MyISAM存储引擎介绍
2022/04/26 MySQL