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 相关文章推荐
分享15个最受欢迎的Python开源框架
Jul 13 Python
一个基于flask的web应用诞生(1)
Apr 11 Python
使用Python实现windows下的抓包与解析
Jan 15 Python
Python编程求质数实例代码
Jan 31 Python
pandas.dataframe中根据条件获取元素所在的位置方法(索引)
Jun 07 Python
10 分钟快速入门 Python3的教程
Jan 29 Python
python粘包问题及socket套接字编程详解
Jun 29 Python
Python3enumrate和range对比及示例详解
Jul 13 Python
详解Python对JSON中的特殊类型进行Encoder
Jul 15 Python
Python3之字节串bytes与字节数组bytearray的使用详解
Aug 27 Python
Python第三方包之DingDingBot钉钉机器人
Apr 09 Python
python编程项目中线上问题排查与解决
Nov 01 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 memcache扩展的三种安装方法
2009/04/26 PHP
Drupal7 form表单二次开发要点与实例
2014/03/02 PHP
php获取给定日期相差天数的方法分析
2017/02/20 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
javascript 动态生成私有变量访问器
2009/12/06 Javascript
JavaScript Event学习补遗 addEventSimple
2010/02/11 Javascript
JS去除右边逗号的简单方法
2013/07/03 Javascript
纯js写的分页表格数据为json串
2014/02/18 Javascript
JavaScript判断DIV内容是否为空的方法
2016/01/29 Javascript
jQuery实现的简单拖拽功能示例
2016/09/13 Javascript
浅谈JS之iframe中的窗口
2016/09/13 Javascript
浅谈EasyUi ComBotree树修改 父节点选择的问题
2016/11/07 Javascript
详解Bootstrap各式各样的按钮(推荐)
2016/12/13 Javascript
浅谈angular2 组件的生命周期钩子
2017/08/12 Javascript
微信小程序图片轮播组件gallery slider使用方法详解
2018/01/31 Javascript
JS实现的文件拖拽上传功能示例
2018/05/21 Javascript
对angular 监控数据模型变化的事件方法$watch详解
2018/10/09 Javascript
详解JavaScript之Array.reduce源码解读
2020/11/01 Javascript
通过实例解析js可枚举属性与不可枚举属性
2020/12/02 Javascript
pandas apply 函数 实现多进程的示例讲解
2018/04/20 Python
实例介绍Python中整型
2019/02/11 Python
Python对HTML转义字符进行反转义的实现方法
2019/04/28 Python
Django多进程滚动日志问题解决方案
2019/12/17 Python
Python 脚本的三种执行方式小结
2019/12/21 Python
Python图像处理二值化方法实例汇总
2020/07/24 Python
英国泰坦旅游网站:全球陪同游览,邮轮和铁路旅行
2016/11/29 全球购物
Urban Decay官方网站:美国化妆品品牌
2020/06/04 全球购物
Java的五个基础面试题
2016/02/26 面试题
法学专业个人求职信
2013/09/26 职场文书
大学学习个人的自我评价
2014/02/18 职场文书
兽医医药专业求职信
2014/07/27 职场文书
人力资源管理求职信
2014/08/07 职场文书
档案管理员岗位职责
2015/02/12 职场文书
出生证明格式
2015/06/15 职场文书
2015年学校办公室主任工作总结
2015/07/20 职场文书
python获取淘宝服务器时间的代码示例
2021/04/22 Python