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 合并文件的具体实例
Aug 08 Python
python中xrange和range的区别
May 13 Python
深入浅析python定时杀进程
Jun 06 Python
python遍历 truple list dictionary的几种方法总结
Sep 11 Python
Python之pandas读写文件乱码的解决方法
Apr 20 Python
python3.x 将byte转成字符串的方法
Jul 17 Python
使用CodeMirror实现Python3在线编辑器的示例代码
Jan 14 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
Mar 18 Python
python实现图像全景拼接
Mar 27 Python
pytorch 查看cuda 版本方式
Jun 23 Python
Pytorch 如何实现LSTM时间序列预测
May 17 Python
Python实现简繁体转换
Jun 07 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 socket方式提交的post详解
2008/07/19 PHP
php chr() ord()中文截取乱码问题解决方法
2008/09/08 PHP
php合并数组中相同元素的方法
2014/11/13 PHP
php结合md5实现的加密解密方法
2016/01/25 PHP
PHP 返回13位时间戳的实现代码
2016/05/13 PHP
PHP批斗大会之缺失的异常详解
2019/07/09 PHP
php5与php7的区别点总结
2019/10/11 PHP
详解PHP中curl_multi并发的实现
2020/06/08 PHP
Js 随机数产生6位数字
2010/05/13 Javascript
jquery isType() 类型判断代码
2011/02/14 Javascript
html a标签-超链接中confirm方法使用介绍
2013/01/04 Javascript
jQuery控制输入框只能输入数值的小例子
2013/03/20 Javascript
Js+Jq获取URL参数的集中方法示例代码
2014/05/20 Javascript
JavaScript转换二进制编码为ASCII码的方法
2015/04/16 Javascript
jquery实现仿新浪微博带动画效果弹出层代码(可关闭、可拖动)
2015/10/12 Javascript
浅析$(function) ready和onload 的区别
2016/09/03 Javascript
BootStrap 动态表单效果
2017/06/02 Javascript
jQuery中$原理实例分析
2018/08/13 jQuery
有关vue 开发钉钉 H5 微应用 dd.ready() 不执行问题及快速解决方案
2020/05/09 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
2020/06/06 jQuery
Python创建文件和追加文件内容实例
2014/10/21 Python
Python贪心算法实例小结
2018/04/22 Python
Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
2019/01/04 Python
Python Opencv中用compareHist函数进行直方图比较对比图片
2020/04/07 Python
Win10环境中如何实现python2和python3并存
2020/07/20 Python
世界顶级足球门票网站:Live Football Tickets
2017/10/14 全球购物
澳大利亚家具和家居用品在线:BROSA
2017/11/02 全球购物
美国折扣地毯销售网站:Rugs.com
2020/03/27 全球购物
人事行政主管岗位职责
2013/12/22 职场文书
银行职业规划书范文
2013/12/28 职场文书
大学军训感言
2014/01/10 职场文书
员工试用期自我鉴定范文
2014/09/15 职场文书
2015年体检中心工作总结
2015/05/27 职场文书
《领导干部从政道德启示录》学习心得体会
2016/01/20 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书
浅谈spring boot使用thymeleaf版本的问题
2021/08/04 Java/Android