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 相关文章推荐
解决python2.7用pip安装包时出现错误的问题
Jan 23 Python
Python3中条件控制、循环与函数的简易教程
Nov 21 Python
PyQt5每天必学之布局管理
Apr 19 Python
python输出100以内的质数与合数实例代码
Jul 08 Python
python用opencv批量截取图像指定区域的方法
Jan 24 Python
Opencv实现抠图背景图替换功能
May 21 Python
Pyqt5实现英文学习词典
Jun 24 Python
tensorflow-gpu安装的常见问题及解决方案
Jan 20 Python
pandas数据拼接的实现示例
Apr 16 Python
浅谈matplotlib中FigureCanvasXAgg的用法
Jun 16 Python
Python datetime模块的使用示例
Feb 02 Python
python b站视频下载的五种版本
May 27 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学习之php4与php5之间会穿梭一点点感悟
2007/05/03 PHP
php结合飞信 免费天气预报短信
2009/05/07 PHP
探讨:parse url解析URL,返回其组成部分
2013/06/14 PHP
分享下php5类中三种数据类型的区别
2015/01/26 PHP
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
Linux下快速搭建php开发环境
2017/03/13 PHP
PDO::setAttribute讲解
2019/01/29 PHP
jQuery对象和DOM对象相互转化
2009/04/24 Javascript
JavaScript与Image加载事件(onload)、加载状态(complete)
2011/02/14 Javascript
JQuery里面的几种选择器 查找满足条件的元素$("#控件ID")
2011/08/23 Javascript
Jquery getJSON方法详细分析
2013/12/26 Javascript
jQuery中hover方法和toggle方法使用指南
2015/02/27 Javascript
简单的JS时钟实例讲解
2016/01/13 Javascript
基于Bootstrap+jQuery.validate实现表单验证
2016/05/30 Javascript
jQuery ajax实现省市县三级联动
2021/03/07 Javascript
详解PHP后期静态绑定分析与应用
2018/03/21 Javascript
在vue中多次调用同一个定义全局变量的实例
2018/09/25 Javascript
jQuery操作动画完整实例分析
2020/01/10 jQuery
js模拟实现百度搜索
2020/06/28 Javascript
vue 监听窗口变化对页面部分元素重新渲染操作
2020/07/28 Javascript
[02:38]2018DOTA2亚洲邀请赛赛前采访-VGJ.T
2018/04/03 DOTA
python中使用pyhook实现键盘监控的例子
2014/07/18 Python
Python闭包执行时值的传递方式实例分析
2018/06/04 Python
详解Python最长公共子串和最长公共子序列的实现
2018/07/07 Python
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
2019/06/04 Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
2019/08/10 Python
matplotlib 画双轴子图无法显示x轴的解决方法
2020/07/27 Python
HTML5之多线程(Web Worker)
2019/01/02 HTML / CSS
布鲁明戴尔百货店:Bloomingdale’s
2016/12/21 全球购物
斯洛伐克香水和化妆品购物网站:Parfemy-Elnino.sk
2020/01/28 全球购物
分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题)
2014/07/16 面试题
yy婚礼司仪主持词
2014/03/14 职场文书
孩子教育的心得体会
2014/09/01 职场文书
物流仓管员岗位职责
2015/04/01 职场文书
不会写演讲稿,快来看看这篇文章!
2019/08/06 职场文书
Ubuntu Server 安装Tomcat并配置systemctl
2022/04/28 Servers