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模拟登录12306的方法
Dec 30 Python
进一步理解Python中的函数编程
Apr 13 Python
python 数字类型和字符串类型的相互转换实例
Jul 17 Python
Python Requests库基本用法示例
Aug 20 Python
python求质数的3种方法
Sep 28 Python
Python之使用adb shell命令启动应用的方法详解
Jan 07 Python
python selenium firefox使用详解
Feb 26 Python
python 中pyqt5 树节点点击实现多窗口切换问题
Jul 04 Python
python 命令行传入参数实现解析
Aug 30 Python
flask框架配置mysql数据库操作详解
Nov 29 Python
Python如何给函数库增加日志功能
Aug 04 Python
python request 模块详细介绍
Nov 10 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实现与ASP Banner组件相似的类
2006/10/09 PHP
其他功能
2006/10/09 PHP
php更改目录及子目录下所有的文件后缀的代码
2010/09/24 PHP
PHP扩展模块memcached长连接使用方法分析
2014/12/24 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
用脚本调用样式的几种方法
2006/12/09 Javascript
jQuery 白痴级入门教程
2009/11/11 Javascript
js 数据类型转换总结笔记
2011/01/17 Javascript
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
2012/01/15 Javascript
js综合应用实例简单的表格统计
2013/09/03 Javascript
jQuery中:animated选择器用法实例
2014/12/29 Javascript
jquery+php实现滚动的数字特效
2015/11/29 Javascript
Bootstrap3制作图片轮播效果
2016/05/12 Javascript
对javascript继承的理解
2016/10/11 Javascript
JS滚动到指定位置导航栏固定顶部
2017/07/03 Javascript
浅谈webpack下的AOP式无侵入注入
2017/11/12 Javascript
手动用webpack搭建第一个ReactApp的示例
2018/04/11 Javascript
一篇文章,教你学会Vue CLI 插件开发
2019/04/17 Javascript
用VsCode编辑TypeScript的实现方法
2020/05/07 Javascript
js仿淘宝放大镜效果
2020/12/28 Javascript
用Python下载一个网页保存为本地的HTML文件实例
2018/05/21 Python
python实现简易内存监控
2018/06/21 Python
python requests证书问题解决
2019/09/05 Python
python psutil监控进程实例
2019/12/17 Python
Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
2021/01/13 Python
CSS3属性 line-clamp控制文本行数的使用
2020/03/19 HTML / CSS
Html5实现如何在两个div元素之间拖放图像
2013/03/29 HTML / CSS
苹果香港官方商城:Apple香港
2016/09/14 全球购物
教师绩效工资方案
2014/02/01 职场文书
音乐教学反思
2014/02/02 职场文书
餐厅总厨求职信
2014/03/04 职场文书
员工廉洁自律承诺书
2014/05/26 职场文书
高职教师先进事迹材料
2014/08/24 职场文书
破坏寝室公物检讨书
2014/11/17 职场文书
《中国机长》观后感:敬畏生命,敬畏职责
2019/11/12 职场文书
MongoDB使用场景总结
2022/02/24 MongoDB