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读取注册表中值的方法
Apr 08 Python
python搜索指定目录的方法
Apr 29 Python
python在控制台输出进度条的方法
Jun 20 Python
详解字典树Trie结构及其Python代码实现
Jun 03 Python
解决Python 中英文混输格式对齐的问题
Jul 16 Python
Python Numpy 实现交换两行和两列的方法
Jun 26 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
Sep 25 Python
Python嵌套函数,作用域与偏函数用法实例分析
Dec 26 Python
关于win10在tensorflow的安装及在pycharm中运行步骤详解
Mar 16 Python
Python利用Xpath选择器爬取京东网商品信息
Jun 01 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
Jun 24 Python
详解使用scrapy进行模拟登陆三种方式
Feb 21 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
Zend Studio去除编辑器的语法警告设置方法
2012/10/24 PHP
php遍历目录输出目录及其下的所有文件示例
2014/01/27 PHP
php输出1000以内质数(素数)示例
2014/02/16 PHP
仿dedecms下拉分页样式修改的thinkphp分页类实例
2014/10/30 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
2017/07/03 PHP
thinkPHP框架中layer.js的封装与使用方法示例
2019/01/18 PHP
用JQuery实现表格隔行变色和突出显示当前行的代码
2012/02/10 Javascript
jQuery Form 页面表单提交的小例子
2013/11/15 Javascript
jquery 操作iframe的几种方法总结
2013/12/13 Javascript
ie下$.getJSON出现问题的解决方法
2014/02/12 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
2015/03/12 Javascript
jquery实现无限分级横向导航菜单的方法
2015/03/12 Javascript
JS使用ajax方法获取指定url的head信息中指定字段值的方法
2015/03/24 Javascript
JavaScript实现数组在指定位置插入若干元素的方法
2015/04/06 Javascript
js+css实现文字散开重组动画特效代码分享
2015/08/21 Javascript
微信小程序进行微信支付的步骤昂述
2016/12/01 Javascript
JavaScript实现动态增删表格的方法
2017/03/09 Javascript
JavaScript使用math.js进行精确计算操作示例
2018/06/19 Javascript
vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
2018/10/24 Javascript
vue+axios实现post文件下载
2019/09/25 Javascript
JS回调函数简单易懂的入门实例分析
2019/09/29 Javascript
vue样式穿透 ::v-deep的具体使用
2020/06/04 Javascript
在python下使用tensorflow判断是否存在文件夹的实例
2019/06/10 Python
Python time库基本使用方法分析
2019/12/13 Python
解决Pycharm 导入其他文件夹源码的2种方法
2020/02/12 Python
Ubuntu权限不足无法创建文件夹解决方案
2020/11/14 Python
商务英语专业自荐信
2013/10/14 职场文书
智能电子应届生求职信
2013/11/10 职场文书
会计助理岗位职责
2014/02/17 职场文书
大学军训感言800字
2014/02/27 职场文书
小学生作文评语大全
2014/04/21 职场文书
《谁的本领大》教后反思
2014/04/25 职场文书
企业开业庆典答谢词
2015/01/20 职场文书
普通员工辞职信范文
2015/05/12 职场文书
升学宴来宾致辞
2015/07/27 职场文书
opencv用VS2013调试时用Image Watch插件查看图片
2021/07/26 Python