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批量提取Win10锁屏壁纸实战教程
Mar 27 Python
Python 爬虫之Beautiful Soup模块使用指南
Jul 05 Python
Python使用matplotlib绘制随机漫步图
Aug 27 Python
Python socket实现多对多全双工通信的方法
Feb 13 Python
Python、 Pycharm、Django安装详细教程(图文)
Apr 12 Python
django中forms组件的使用与注意
Jul 08 Python
python 实现线程之间的通信示例
Feb 14 Python
python字符串判断密码强弱
Mar 18 Python
Python Numpy中数据的常用保存与读取方法
Apr 01 Python
jupyter notebook运行命令显示[*](解决办法)
May 18 Python
python异常中else的实例用法
Jun 15 Python
Python接口自动化之文件上传/下载接口详解
Apr 05 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 addslashes 利用递归实现使用反斜线引用字符串
2013/08/05 PHP
PHP实现的简单异常处理类示例
2017/05/04 PHP
laravel 验证错误信息到 blade模板的方法
2019/09/29 PHP
php多进程中的阻塞与非阻塞操作实例分析
2020/03/04 PHP
如何实现浏览器上的右键菜单
2006/07/10 Javascript
Javascript 定时器调用传递参数的方法
2009/11/12 Javascript
Javascript 面向对象 继承
2010/05/13 Javascript
jquery中对表单的基本操作代码
2010/07/29 Javascript
JavaScript模板入门介绍
2012/09/26 Javascript
浅析document.createDocumentFragment()与js效率
2013/07/08 Javascript
showModalDialog在谷歌浏览器下会返回Null的解决方法
2013/11/27 Javascript
动态加载jquery库的方法
2014/02/12 Javascript
关于Javascript 对象(object)的prototype
2014/05/09 Javascript
jquery数组过滤筛选方法grep()简介
2014/06/06 Javascript
JavaScript AOP编程实例
2015/06/16 Javascript
JavaScript中Number对象的toFixed() 方法详解
2016/09/02 Javascript
javascript操作cookie
2017/01/17 Javascript
angularjs select 赋值 ng-options配置方法
2018/02/28 Javascript
jQuery解析json格式数据示例
2018/09/01 jQuery
Vue filter格式化时间戳时间成标准日期格式的方法
2018/09/16 Javascript
在node中使用jwt签发与验证token的方法
2019/04/03 Javascript
React传值 组件传值 之间的关系详解
2019/08/26 Javascript
浅析Vue 防抖与节流的使用
2019/11/14 Javascript
重置Redux的状态数据的方法实现
2019/11/18 Javascript
uni-app使用微信小程序云函数的步骤示例
2020/05/22 Javascript
python中的列表推导浅析
2014/04/26 Python
Python设计足球联赛赛程表程序的思路与简单实现示例
2016/06/28 Python
详解在python操作数据库中游标的使用方法
2019/11/12 Python
美国殿堂级滑板、冲浪、滑雪服装品牌:Volcom(钻石)
2017/04/20 全球购物
阿迪达斯希腊官方网上商店:adidas希腊
2019/04/06 全球购物
爱尔兰旅游网站:ebookers.ie
2020/01/24 全球购物
故宫导游词
2015/01/31 职场文书
安全生产培训心得体会
2016/01/18 职场文书
python数字转对应中文的方法总结
2021/08/02 Python
Python集合set()使用的方法详解
2022/03/18 Python
详解flex:1什么意思
2022/07/23 HTML / CSS