python中快速进行多个字符替换的方法小结


Posted in Python onDecember 15, 2016

先给出结论:

  1. 要替换的字符数量不多时,可以直接链式replace()方法进行替换,效率非常高;
  2. 如果要替换的字符数量较多,则推荐在 for 循环中调用 replace() 进行替换。

可行的方法:

1. 链式replace()

string.replace().replace()

     1.x 在for循环中调用replace() 「在要替换的字符较多时」

2. 使用string.maketrans

3. 先 re.compile 然后 re.sub

……

def a(text):
 chars = "&#"
 for c in chars:
 text = text.replace(c, "\\" + c)
def b(text):
 for ch in ['&','#']:
 if ch in text:
  text = text.replace(ch,"\\"+ch)
import re
def c(text):
 rx = re.compile('([&#])')
 text = rx.sub(r'\\\1', text)
RX = re.compile('([&#])')
def d(text):
 text = RX.sub(r'\\\1', text)
def mk_esc(esc_chars):
 return lambda s: ''.join(['\\' + c if c in esc_chars else c for c in s])
esc = mk_esc('&#')
def e(text):
 esc(text)
def f(text):
 text = text.replace('&', '\&').replace('#', '\#')
def g(text):
 replacements = {"&": "\&", "#": "\#"}
 text = "".join([replacements.get(c, c) for c in text])
def h(text):
 text = text.replace('&', r'\&')
 text = text.replace('#', r'\#')
def i(text):
 text = text.replace('&', r'\&').replace('#', r'\#')

参考链接:

http://stackoverflow.com/questions/3411771/multiple-character-replace-with-python

http://stackoverflow.com/questions/6116978/python-replace-multiple-strings

http://stackoverflow.com/questions/8687018/python-string-replace-two-things-at-once

http://stackoverflow.com/questions/28775049/most-efficient-way-to-replace-multiple-characters-in-a-string

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用python能有所帮在,如果有疑问大家可以留言交流。

Python 相关文章推荐
python的urllib模块显示下载进度示例
Jan 17 Python
Python的ORM框架SQLAlchemy入门教程
Apr 28 Python
Python 执行字符串表达式函数(eval exec execfile)
Aug 11 Python
用Python编写一个每天都在系统下新建一个文件夹的脚本
May 04 Python
python调用摄像头显示图像的实例
Aug 03 Python
Numpy数组array和矩阵matrix转换方法
Aug 05 Python
python scrapy爬虫代码及填坑
Aug 12 Python
浅谈Django+Gunicorn+Nginx部署之路
Sep 11 Python
Django使用消息提示简单的弹出个对话框实例
Nov 15 Python
python求质数列表的例子
Nov 24 Python
Python内置异常类型全面汇总
May 28 Python
Python实战之疫苗研发情况可视化
May 18 Python
Python制作简易注册登录系统
Dec 15 #Python
用yum安装MySQLdb模块的步骤方法
Dec 15 #Python
Python3.6正式版新特性预览
Dec 15 #Python
再谈Python中的字符串与字符编码(推荐)
Dec 14 #Python
Python文件操作,open读写文件,追加文本内容实例
Dec 14 #Python
你所不知道的Python奇技淫巧13招【实用】
Dec 14 #Python
通过Python爬虫代理IP快速增加博客阅读量
Dec 14 #Python
You might like
一些关于PHP的知识
2006/11/17 PHP
PHP中空字符串介绍0、null、empty和false之间的关系
2012/09/25 PHP
PHP获取文件后缀名的三个函数
2012/10/15 PHP
PHP OPP机制和模式简介(抽象类、接口和契约式编程)
2014/06/09 PHP
PHP中提问频率最高的11个面试题和答案
2014/09/02 PHP
php正则提取html图片(img)src地址与任意属性的方法
2017/02/08 PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
2018/05/23 PHP
PHP 8新特性简介
2020/08/18 PHP
WordPress JQuery处理沙发头像
2009/06/22 Javascript
Javascript事件热键兼容ie|firefox
2010/12/30 Javascript
javascript一元操作符(递增、递减)使用示例
2013/08/07 Javascript
javascript编写贪吃蛇游戏
2015/07/07 Javascript
JavaScript动态创建div等元素实例讲解
2016/01/06 Javascript
浅谈js中的延迟执行和定时执行
2016/05/31 Javascript
jquery表单插件Autotab使用方法详解
2016/06/24 Javascript
javascript-解决mongoose数据查询的异步操作
2016/12/22 Javascript
vue.js 获取当前自定义属性值
2017/06/01 Javascript
详解vue-cli + webpack 多页面实例配置优化方法
2017/07/13 Javascript
VueJs组件之父子通讯的方式
2018/05/06 Javascript
vue通过过滤器实现数据格式化
2020/07/20 Javascript
在Python编程过程中用单元测试法调试代码的介绍
2015/04/02 Python
Pandas实现dataframe和np.array的相互转换
2019/11/30 Python
Python selenium实现断言3种方法解析
2020/09/08 Python
记一次Django响应超慢的解决过程
2020/09/17 Python
浅谈Html5页面打开app的一些思考
2020/03/30 HTML / CSS
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
聪明的粉丝购买门票的地方:TickPick
2018/03/09 全球购物
英国可持续奢侈品包包品牌:Elvis & Kresse
2018/08/05 全球购物
WatchShop法国:英国排名第一的独立手表零售商
2020/02/17 全球购物
技校毕业生个人学习的自我评价
2014/02/21 职场文书
2014公安机关纪律作风整顿思想汇报
2014/09/13 职场文书
党委书记群众路线对照检查材料思想汇报
2014/10/04 职场文书
2014年宣传工作总结
2014/11/18 职场文书
项目经理岗位职责
2015/01/31 职场文书
开除通知书范本
2015/04/25 职场文书
SQLServer2008提示评估期已过解决方案
2021/04/12 SQL Server