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获取文件后缀名及批量更新目录下文件后缀名的方法
Nov 11 Python
详解Python中的__new__()方法的使用
Apr 09 Python
Python函数中的函数(闭包)用法实例
Mar 15 Python
python中类和实例如何绑定属性与方法示例详解
Aug 18 Python
详解Python 协程的详细用法使用和例子
Jun 15 Python
Python中的取模运算方法
Nov 10 Python
python+PyQT实现系统桌面时钟
Jun 16 Python
python小项目之五子棋游戏
Dec 26 Python
Django media static外部访问Django中的图片设置教程
Apr 07 Python
python 实现任务管理清单案例
Apr 25 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
May 10 Python
解决keras,val_categorical_accuracy:,0.0000e+00问题
Jul 02 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连mysql和oracle数据库性能比较
2006/10/09 PHP
PHP array_multisort() 函数的深入解析
2013/06/20 PHP
ThinkPHP模板判断输出Defined标签用法详解
2014/06/30 PHP
非常实用的php验证码类
2016/05/15 PHP
浅谈PHP面向对象之访问者模式+组合模式
2017/05/22 PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
2018/08/17 PHP
javascript[js]获取url参数的代码
2007/10/17 Javascript
jQuery的选择器中的通配符使用介绍
2014/03/20 Javascript
JS获取各种宽度、高度的简单介绍
2014/12/19 Javascript
Jquery中巧用Ajax的beforeSend方法
2016/01/20 Javascript
AngularJS中处理多个promise的方式
2016/02/02 Javascript
JS控制伪元素的方法汇总
2016/04/06 Javascript
jquery 实现滚动条下拉时无限加载的简单实例
2016/06/01 Javascript
jQuery仿京东商城楼梯式导航定位菜单
2016/07/25 Javascript
AngularJS表达式讲解及示例代码
2016/08/16 Javascript
js字符串引用的两种方式(必看)
2016/09/18 Javascript
weUI应用之JS常用信息提示弹层的封装
2016/11/21 Javascript
Js经典案例的实例代码
2018/05/10 Javascript
详解如何在Angular优雅编写HTTP请求
2018/12/05 Javascript
vue 基于element-ui 分页组件封装的实例代码
2018/12/10 Javascript
vue通过数据过滤实现表格合并
2020/11/30 Javascript
JS实现电脑虚拟键盘的操作
2020/06/24 Javascript
vue使用swiper实现左右滑动切换图片
2020/10/16 Javascript
Vue使用鼠标在Canvas上绘制矩形
2020/12/24 Vue.js
python字符串连接方式汇总
2014/08/21 Python
Python中最常用的操作列表的几种方法归纳
2015/04/24 Python
Python给你的头像加上圣诞帽
2018/01/04 Python
Pycharm 实现下一个文件引用另外一个文件的方法
2019/01/17 Python
Django 在iframe里跳转顶层url的例子
2019/08/21 Python
python安装本地whl的实例步骤
2019/10/12 Python
详解vscode实现远程linux服务器上Python开发
2020/11/10 Python
HTML5的video标签的浏览器兼容性增强方案分享
2016/05/19 HTML / CSS
专题民主生活会对照检查材料思想汇报
2014/09/29 职场文书
学期个人工作总结
2015/02/13 职场文书
JS实现扫雷项目总结
2021/05/19 Javascript
微信小程序APP的生命周期及页面的生命周期
2022/04/19 Javascript