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 相关文章推荐
解决pycharm无法识别本地site-packages的问题
Oct 13 Python
使用python对文件中的单词进行提取的方法示例
Dec 21 Python
详解python运行三种方式
May 13 Python
python 含子图的gif生成时内存溢出的方法
Jul 07 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
Nov 19 Python
pycharm运行scrapy过程图解
Nov 22 Python
python将三维数组展开成二维数组的实现
Nov 30 Python
Django框架获取form表单数据方式总结
Apr 22 Python
浅谈Django前端后端值传递问题
Jul 15 Python
Python中对象的比较操作==和is区别详析
Feb 12 Python
pytorch训练神经网络爆内存的解决方案
May 22 Python
python使用pycharm安装pyqt5以及相关配置
Apr 22 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类生成HTML实例(包含常见标签元素)
2014/06/25 PHP
PHP实现格式化文件数据大小显示的方法
2015/01/03 PHP
php pdo oracle中文乱码的快速解决方法
2016/05/16 PHP
ThinkPHP实现更新数据实例详解(demo)
2016/06/29 PHP
总结PHP中DateTime的常用方法
2016/08/11 PHP
php 静态属性和静态方法区别详解
2017/04/09 PHP
php使用fullcalendar日历插件详解
2019/03/06 PHP
PHP压缩图片功能的介绍
2019/03/21 PHP
JavaScript 闭包在封装函数时的简单分析
2009/11/28 Javascript
Jquery实现三层遍历删除功能代码
2013/04/23 Javascript
JS解决ie6下png透明的方法实例
2013/08/02 Javascript
使用mouse事件实现简单的鼠标经过特效
2015/01/30 Javascript
BootStrap Tooltip插件源码解析
2016/12/27 Javascript
react-native组件中NavigatorIOS和ListView结合使用的方法
2017/09/30 Javascript
基于Angular中ng-controller父子级嵌套的相关属性详解
2018/10/08 Javascript
五分钟搞懂Vuex实用知识(小结)
2019/08/12 Javascript
layui文件上传控件带更改后数据传值的方法
2019/09/23 Javascript
Vue实现push数组并删除的例子
2019/11/01 Javascript
JS如何实现在弹出窗口中加载页面
2020/12/03 Javascript
[47:35]VP vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
Python中atexit模块的基本使用示例
2015/07/08 Python
python&MongoDB爬取图书馆借阅记录
2016/02/05 Python
python使用arcpy.mapping模块批量出图
2017/03/06 Python
Python反射和内置方法重写操作详解
2018/08/27 Python
python抖音表白程序源代码
2019/04/07 Python
python3 os进行嵌套操作的实例讲解
2020/11/19 Python
matplotlib更改窗口图标的方法示例
2021/02/03 Python
numpy实现RNN原理实现
2021/03/02 Python
基于 HTML5 Canvas实现 的交互式地铁线路图
2018/03/05 HTML / CSS
英国蜡烛、蜡烛配件和家居香氛购买网站:Yankee Candle
2018/12/12 全球购物
创业计划书中要认真思考的问题
2013/12/28 职场文书
小学优秀教师事迹材料
2014/12/16 职场文书
当幸福来敲门观后感
2015/06/01 职场文书
贫困证明怎么写
2015/06/16 职场文书
高中运动会前导词
2015/07/20 职场文书
仅仅使用 HTML/CSS 实现各类进度条的方式汇总
2021/11/11 HTML / CSS