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中使用中文的方法
Feb 19 Python
Python中用PIL库批量给图片加上序号的教程
May 06 Python
关于numpy中np.nonzero()函数用法的详解
Feb 07 Python
python下实现二叉堆以及堆排序的示例
Sep 29 Python
python的re模块使用方法详解
Jul 26 Python
Python中IP地址处理IPy模块的方法
Aug 16 Python
Django Admin中增加导出Excel功能过程解析
Sep 04 Python
Python序列对象与String类型内置方法详解
Oct 22 Python
Pycharm内置终端及远程SSH工具的使用教程图文详解
Mar 19 Python
pycharm 2018 激活码及破解补丁激活方式
Sep 21 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
Oct 26 Python
关于python中remove的一些坑小结
Jan 04 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 用checkbox一次性删除多条记录的方法
2010/02/23 PHP
使用PHP导出Word文档的原理和实例
2013/10/21 PHP
php操作mysql数据库的基本类代码
2014/02/25 PHP
浅析php设计模式之数据对象映射模式
2016/03/03 PHP
JQuery的ajax基础上的超强GridView展示
2009/09/18 Javascript
鼠标滑上去后图片放大浮出效果的js代码
2011/05/28 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
JS中实现replaceAll的方法(实例代码)
2013/11/12 Javascript
JavaScript中判断原生函数检查function是否是原生代码
2014/09/09 Javascript
asp.net+js实现金额格式化
2015/02/27 Javascript
vue.js通过自定义指令实现数据拉取更新的实现方法
2016/10/18 Javascript
nodejs接入阿里大鱼短信验证码的方法
2017/07/10 NodeJs
js下拉菜单生成器dropMenu使用方法详解
2017/08/01 Javascript
React 组件中的 bind(this)示例代码
2018/09/16 Javascript
微信上传视频文件提示(推荐)
2018/11/22 Javascript
小程序自定义模板实现吸顶功能
2020/01/08 Javascript
微信小程序图片自适应实现解析
2020/01/21 Javascript
javascript使用canvas实现饼状图效果
2020/09/08 Javascript
JavaScript基于SVG的图片切换效果实例代码
2020/12/15 Javascript
python刷投票的脚本实现代码
2014/11/08 Python
Python处理PDF及生成多层PDF实例代码
2017/04/24 Python
Python制作词云的方法
2018/01/03 Python
Python基于hashlib模块的文件MD5一致性加密验证示例
2018/02/10 Python
NumPy 基本切片和索引的具体使用方法
2019/04/24 Python
基于Python实现扑克牌面试题
2019/12/11 Python
python django中8000端口被占用的解决
2019/12/17 Python
PYQT5 vscode联合操作qtdesigner的方法
2020/03/24 Python
Python中对象的比较操作==和is区别详析
2021/02/12 Python
瑞典快乐袜子:Happy Socks
2018/02/16 全球购物
编写类String的构造函数、析构函数和赋值函数
2012/05/29 面试题
高中物理教学反思
2014/02/08 职场文书
幼儿园师德演讲稿
2014/05/06 职场文书
社区志愿者活动总结
2014/06/26 职场文书
施工安全责任书范本
2014/07/24 职场文书
公务员年终个人总结
2015/02/12 职场文书
2016年校园社会综合治理宣传月活动总结
2016/03/16 职场文书