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通过poll实现异步IO的方法
Jun 04 Python
python数据结构之图深度优先和广度优先实例详解
Jul 08 Python
Python subprocess模块详细解读
Jan 29 Python
Python发送邮件测试报告操作实例详解
Dec 08 Python
python使用selenium实现批量文件下载
Mar 11 Python
Python使用正则表达式分割字符串的实现方法
Jul 16 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
Jul 18 Python
django 控制页面跳转的例子
Aug 06 Python
通过 Python 和 OpenCV 实现目标数量监控
Jan 05 Python
基于Python把网站域名解析成ip地址
May 25 Python
keras实现多种分类网络的方式
Jun 11 Python
Python Selenium模块安装使用教程详解
Jul 09 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
joomla数据库操作示例代码
2016/01/06 PHP
JQUERY 浏览器判断实现函数
2009/08/20 Javascript
Jquery刷新页面背景图片随机变换的实现方法
2013/03/15 Javascript
jquery弹出框的用法示例(2)
2013/08/26 Javascript
JavaScript之AOP编程实例
2015/07/17 Javascript
五种js判断是否为整数类型方式
2015/12/03 Javascript
基于jquery实现瀑布流布局
2020/06/28 Javascript
JS常见问题之为什么点击弹出的i总是最后一个
2016/01/05 Javascript
详解Angularjs中的依赖注入
2016/03/11 Javascript
Jquery attr()方法 属性赋值和属性获取详解
2016/04/15 Javascript
详解js的延迟对象、跨域、模板引擎、弹出层、AJAX【附实例下载】
2016/12/19 Javascript
React利用插件和不用插件实现双向绑定的方法详解
2017/07/03 Javascript
不使用 JS 匿名函数理由
2017/11/17 Javascript
AngularJS创建一个上传照片的指令实例代码
2018/02/24 Javascript
react-native封装插件swiper的使用方法
2018/03/20 Javascript
vue监听input标签的value值方法
2018/08/27 Javascript
在vue中使用SockJS实现webSocket通信的过程
2018/08/29 Javascript
浅谈webpack4.x 入门(一篇足矣)
2018/09/05 Javascript
详解webpack4.x之搭建前端开发环境
2019/03/28 Javascript
关于vue组件事件属性穿透详解
2019/10/28 Javascript
bootstrap-paginator服务器端分页使用方法详解
2020/02/13 Javascript
JS实现简易计算器
2020/02/14 Javascript
python实现中文输出的两种方法
2015/05/09 Python
深入浅析python定时杀进程
2016/06/06 Python
Python使用Django实现博客系统完整版
2020/09/29 Python
python禁用键鼠与提权代码实例
2019/08/16 Python
Python3批量移动指定文件到指定文件夹方法示例
2019/09/02 Python
Python3.7安装keras和TensorFlow的教程图解
2020/06/18 Python
Django框架模板用法入门教程
2019/11/04 Python
Python如何计算语句执行时间
2019/11/22 Python
Java爬虫技术框架之Heritrix框架详解
2020/07/22 Python
C语言笔试题
2014/09/04 面试题
2014年库房工作总结
2014/11/26 职场文书
工人先锋号事迹材料(2016精选版)
2016/03/01 职场文书
Python基础之元类详解
2021/04/29 Python
什么是动态刷新率DRR? Windows11动态刷新率功能介绍
2021/11/21 数码科技