Python实现的从右到左字符串替换方法示例

yipeiwu_com6年前Python基础

本文实例讲述了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数据结构与算法教程》、《Python函数使用技巧总结》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

Python中的异常处理学习笔记

Python 是面向对象的语言,所以程序抛出的异常也是类。 常见的异常类 1.NameError:尝试访问一个没有申明的变量 2.ZeroDivisionError:除数为 0 3.Sy...

Python实现的生产者、消费者问题完整实例

本文实例讲述了Python实现的生产者、消费者问题。分享给大家供大家参考,具体如下: 生产者、消费者问题,经典的线程同步问题:假设有一个缓冲池(列表),生产者往里面放东西,消费者从里面取...

python算法与数据结构之冒泡排序实例详解

python算法与数据结构之冒泡排序实例详解

一、冒泡排序介绍   冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地...

Django Rest framework解析器和渲染器详解

Django Rest framework解析器和渲染器详解

解析器 解析器的作用就是服务端接收客户端传过来的数据,把数据解析成自己想要的数据类型的过程. 本质就是对请求体中的数据进行解析. Content-type:用于声明我给你传的是什么类型...

java判断三位数的实例讲解

java判断三位数的实例讲解

java怎么判断三位数 先定义个测试数字,如图 然后可以把数字转换成字符串来判断它的长度是否为3,如图 获取判断数字范围是否在100到1000之间的值,如图 在或者判断数字大于10...