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入门指引
Apr 01 Python
python中引用与复制用法实例分析
Jun 04 Python
解决python2.7用pip安装包时出现错误的问题
Jan 23 Python
Python使用wget实现下载网络文件功能示例
May 31 Python
关于python2 csv写入空白行的问题
Jun 22 Python
python样条插值的实现代码
Dec 17 Python
几行Python代码爬取3000+上市公司的信息
Jan 24 Python
浅谈Python大神都是这样处理XML文件的
May 31 Python
对Django 中request.get和request.post的区别详解
Aug 12 Python
python3连接kafka模块pykafka生产者简单封装代码
Dec 23 Python
浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点
Jun 08 Python
史上最详细的Python打包成exe文件教程
Jan 17 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 读取shell管道传输过来的内容
2010/03/01 PHP
PHP中实现生成静态文件的方法缓解服务器压力
2014/01/07 PHP
PHP+Apache实现二级域名之间共享cookie的方法
2019/07/24 PHP
jQuery的强大选择器小结
2009/12/27 Javascript
javascript (用setTimeout而非setInterval)
2011/12/28 Javascript
关于Javascript作用域链的八点总结
2013/12/06 Javascript
一个实用的图片切换支持点击切换和自动轮播
2014/09/09 Javascript
jquery处理json对象
2014/11/03 Javascript
JS中产生标识符方式的演变
2015/06/12 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
2016/03/09 Javascript
jQuery实现立体式数字动态增加(animate方法)
2016/12/21 Javascript
setTimeout函数的神奇使用
2017/02/26 Javascript
使用iView Upload 组件实现手动上传图片的示例代码
2018/10/01 Javascript
vue.js实现会动的简历(包含底部导航功能,编辑功能)
2019/04/08 Javascript
详解Vue中使用插槽(slot)、聚类插槽
2019/04/12 Javascript
JS实现旋转木马轮播图
2020/01/01 Javascript
vue 解决addRoutes多次添加路由重复的操作
2020/08/04 Javascript
Vue3 响应式侦听与计算的实现
2020/11/11 Javascript
[42:24]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第一场 11.01
2020/11/02 DOTA
[51:06]DOTA2-DPC中国联赛 正赛 Elephant vs Aster BO3 第二场 1月26日
2021/03/11 DOTA
浅谈Python的文件类型
2016/05/30 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
2017/07/20 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
2017/11/14 Python
如何用Python做一个微信机器人自动拉群
2019/07/03 Python
python返回数组的索引实例
2019/11/28 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
2020/02/11 Python
俄罗斯EPL钻石珠宝店:ЭПЛ
2019/10/22 全球购物
万豪国际住宅与别墅集团:Homes & Villas by Marriott International
2020/10/08 全球购物
销售部主管岗位职责
2013/12/18 职场文书
公司委托书格式范文
2014/04/04 职场文书
《春笋》教学反思
2014/04/15 职场文书
关于雷锋的演讲稿
2014/05/10 职场文书
2014年优秀班主任工作总结
2014/12/16 职场文书
离婚案件原告代理词
2015/05/23 职场文书
七年级语文教学反思
2016/03/03 职场文书
Mysql中常用的join连接方式
2022/05/11 MySQL