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 测试实现方法
Dec 24 Python
windows系统中python使用rar命令压缩多个文件夹示例
May 06 Python
Python实现快速排序和插入排序算法及自定义排序的示例
Feb 16 Python
深入理解Python中变量赋值的问题
Jan 12 Python
PyQt5实现下载进度条效果
Apr 19 Python
Python 比较文本相似性的方法(difflib,Levenshtein)
Oct 15 Python
Python实现简单查找最长子串功能示例
Feb 26 Python
wxPython实现文本框基础组件
Nov 18 Python
关于Python Tkinter Button控件command传参问题的解决方式
Mar 04 Python
Python接口测试数据库封装实现原理
May 09 Python
Python如何解除一个装饰器
Aug 07 Python
python 用Matplotlib作图中有多个Y轴
Nov 28 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中在数据库中保存Checkbox数据(1)
2006/10/09 PHP
用PHP调用Oracle存储过程
2006/10/09 PHP
php获取网页请求状态程序示例
2014/06/17 PHP
php常用图片处理类
2016/03/16 PHP
JS对URL字符串进行编码/解码分析
2008/10/25 Javascript
jquery validate使用攻略 第四步
2010/07/01 Javascript
奉献给JavaScript初学者的编写开发的七个细节
2011/01/11 Javascript
js显示时间 js显示最后修改时间
2013/01/02 Javascript
JS 获取select(多选下拉)中所选值的示例代码
2013/08/02 Javascript
JS将制定内容复制到剪切板示例代码
2014/02/11 Javascript
浅谈Sizzle的“编译原理”
2015/04/14 Javascript
jQuery实现的多屏图像图层切换效果实例
2015/05/07 Javascript
JavaScript中实现map功能代码分享
2015/06/11 Javascript
javascript日期操作详解(脚本之家整理)
2015/09/05 Javascript
Ionic学习日记实现验证码倒计时
2018/02/08 Javascript
Electron-vue脚手架改造vue项目的方法
2018/10/22 Javascript
vue配置nprogress实现页面顶部进度条
2019/09/21 Javascript
JS实现百度搜索框关键字推荐
2020/02/17 Javascript
ES6使用新特性Proxy实现的数据绑定功能实例
2020/05/11 Javascript
python SSH模块登录,远程机执行shell命令实例解析
2018/01/12 Python
Python selenium抓取微博内容的示例代码
2018/05/17 Python
python 中的[:-1]和[::-1]的具体使用
2020/02/13 Python
python如何查看安装了的模块
2020/06/23 Python
CSS3属性选择符介绍
2008/10/17 HTML / CSS
纯css3实现图片翻牌特效
2015/03/10 HTML / CSS
使用数据结构给女朋友写个Html5走迷宫游戏
2019/11/26 HTML / CSS
亚马逊西班牙购物网站:amazon西班牙
2017/03/06 全球购物
澳大利亚领先的武术用品和健身器材供应商:SMAI
2019/03/24 全球购物
工程造价自荐信
2013/10/09 职场文书
小学优秀教师事迹材料
2014/12/16 职场文书
英文邀请函
2015/02/02 职场文书
个人年底工作总结
2015/03/10 职场文书
实施意见格式范本
2015/06/05 职场文书
2016年党员岗位承诺书
2016/03/24 职场文书
十二月早安励志心语大全
2019/12/03 职场文书
在MySQL中你成功的避开了所有索引
2022/04/20 MySQL