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中使用语句导入模块或包的机制研究
Mar 30 Python
利用python代码写的12306订票代码
Dec 20 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
Jul 11 Python
怎么使用pipenv管理你的python项目
Mar 12 Python
numpy中实现二维数组按照某列、某行排序的方法
Apr 04 Python
uwsgi+nginx部署Django项目操作示例
Dec 04 Python
Python判断一个文件夹内哪些文件是图片的实例
Dec 07 Python
关于numpy.where()函数 返回值的解释
Dec 06 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
Jan 13 Python
python中wheel的用法整理
Jun 15 Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
Sep 01 Python
Python测试框架:pytest学习笔记
Oct 20 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中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
2010/12/19 PHP
PHP无法访问远程mysql的问题分析及解决
2013/05/16 PHP
php警告Creating default object from empty value 问题的解决方法
2014/04/02 PHP
php 判断网页是否是utf8编码的方法
2014/06/06 PHP
ThinkPHP模板比较标签用法详解
2014/06/30 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
2014/10/21 PHP
对PHP PDO的一些认识小结
2015/01/23 PHP
php计算给定时间之前的函数用法实例
2015/04/03 PHP
PHP文件读取功能的应用实例
2015/05/08 PHP
PHP中的一些常用函数收集
2015/05/26 PHP
php利用imagemagick实现复古老照片效果实例
2017/02/16 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
tp5框架使用composer实现日志记录功能示例
2019/01/10 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
jQuery使用动态渲染表单功能完成ajax文件下载
2013/01/15 Javascript
javascript实现2048游戏示例
2014/05/04 Javascript
JavaScript html5 canvas绘制时钟效果(二)
2016/03/27 Javascript
JS/jQuery判断DOM节点是否存在的简单方法
2016/11/24 Javascript
js获取元素的偏移量offset简单方法(必看)
2017/07/05 Javascript
Echarts基本用法_动力节点Java学院整理
2017/08/11 Javascript
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
2018/01/09 Javascript
JS实现基于拖拽改变物体大小的方法
2018/01/23 Javascript
浅谈手写node可读流之流动模式
2018/06/01 Javascript
在小程序Canvas中使用measureText的方法示例
2018/10/19 Javascript
Python数据结构与算法之字典树实现方法示例
2017/12/13 Python
python笔记_将循环内容在一行输出的方法
2019/08/08 Python
python字符串反转的四种方法详解
2019/12/02 Python
Python多个装饰器的调用顺序实例解析
2020/05/22 Python
pycharm导入源码的具体步骤
2020/08/04 Python
用python计算文件的MD5值
2020/12/23 Python
Nike加拿大官网:Nike.com (CA)
2019/04/09 全球购物
幼儿园新学期寄语
2014/01/18 职场文书
优秀党员申报材料
2014/12/18 职场文书
幼儿园母亲节活动总结
2015/02/10 职场文书
Python 中数组和数字相乘时的注意事项说明
2021/05/10 Python
一篇文章弄懂Python中的内建函数
2021/08/07 Python