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 相关文章推荐
一个检测OpenSSL心脏出血漏洞的Python脚本分享
Apr 10 Python
python操作xml文件详细介绍
Jun 09 Python
Python实现从脚本里运行scrapy的方法
Apr 07 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
Nov 14 Python
Python实现繁?转为简体的方法示例
Dec 18 Python
Django logging配置及使用详解
Jul 23 Python
使用python实现希尔、计数、基数基础排序的代码
Dec 25 Python
基于keras 模型、结构、权重保存的实现
Jan 24 Python
Python通过Tesseract库实现文字识别
Mar 05 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
Mar 13 Python
Django集成MongoDB实现过程解析
Dec 01 Python
python实现高效的遗传算法
Apr 07 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/10/09 PHP
PHP 压缩文件夹的类代码
2009/11/05 PHP
微博短链接算法php版本实现代码
2012/09/15 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
仿迅雷焦点广告效果(JQuery版)
2008/11/19 Javascript
javascript 树控件 比较好用
2009/06/11 Javascript
AngularJS中的过滤器filter用法完全解析
2016/04/22 Javascript
AngularJs bootstrap搭载前台框架——基础页面
2016/09/01 Javascript
原生javascript实现读写CSS样式的方法详解
2017/02/20 Javascript
jQuery中Chosen三级联动功能实例代码
2017/03/07 Javascript
[50:58]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 Mineski vs EG
2018/04/03 DOTA
跟老齐学Python之复习if语句
2014/10/02 Python
Python中处理时间的几种方法小结
2015/04/09 Python
Python爬虫框架Scrapy实战之批量抓取招聘信息
2015/08/07 Python
python模拟登录并且保持cookie的方法详解
2017/04/04 Python
Python中的random.uniform()函数教程与实例解析
2019/03/02 Python
Pandas之ReIndex重新索引的实现
2019/06/25 Python
python进度条显示之tqmd模块
2020/08/22 Python
python两种注释用法的示例
2020/10/09 Python
Python环境使用OpenCV检测人脸实现教程
2020/10/19 Python
Python为何不支持switch语句原理详解
2020/10/21 Python
如何一键升级Python所有包
2020/11/05 Python
python 发送邮件的四种方法汇总
2020/12/02 Python
浅析HTML5 meta viewport参数
2020/10/28 HTML / CSS
宝拉珍选澳大利亚官方购物网站:Paula’s Choice澳大利亚
2016/09/13 全球购物
RealTek面试题
2016/06/28 面试题
大学生水文观测实习自我鉴定
2013/09/29 职场文书
前厅部经理岗位职责范文
2014/02/04 职场文书
四年级科学教学反思
2014/02/10 职场文书
教师自荐信范文
2015/03/06 职场文书
建党伟业观后感
2015/06/01 职场文书
MongoDB使用profile分析慢查询的步骤
2021/04/30 MongoDB
浅谈golang 中time.After释放的问题
2021/05/05 Golang
Python实现GIF动图以及视频卡通化详解
2021/12/06 Python
HTTP中的Content-type详解
2022/01/18 HTML / CSS
python多次执行绘制条形图
2022/04/20 Python