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根据路径导入模块的方法
Sep 30 Python
Python中遍历字典过程中更改元素导致异常的解决方法
May 12 Python
Python爬虫:通过关键字爬取百度图片
Feb 17 Python
Python实现GUI学生信息管理系统
Apr 05 Python
详解flask入门模板引擎
Jul 18 Python
浅析Python 读取图像文件的性能对比
Mar 07 Python
使用Python快乐学数学Github万星神器Manim简介
Aug 07 Python
妙用itchat! python实现久坐提醒功能
Nov 25 Python
使用Python操作ArangoDB的方法步骤
Feb 02 Python
Python多线程正确用法实例解析
May 30 Python
详解Python调用系统命令的六种方法
Jan 28 Python
关于的python五子棋的算法
May 02 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生成缩略图的函数代码(修改版)
2011/01/18 PHP
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
2013/06/03 PHP
PHP生成制作验证码的简单实例
2016/06/12 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
jQuery 行背景颜色的交替显示(隔行变色)实现代码
2009/12/13 Javascript
提高jQuery性能的十个诀窍
2013/11/14 Javascript
js几秒以后倒计时跳转示例
2013/12/26 Javascript
推荐6款基于jQuery实现图片效果插件
2014/12/07 Javascript
jQuery仿gmail实现fixed布局的方法
2015/05/27 Javascript
基于jQuery实现的向下滑动二级菜单效果代码
2015/08/31 Javascript
jquery+json实现数据二级联动的方法
2015/11/28 Javascript
bootstrap基础知识学习笔记
2016/11/02 Javascript
AngularJS实现动态编译添加到dom中的方法
2016/11/04 Javascript
Vue.js第四天学习笔记
2016/12/02 Javascript
ES6学习之变量的解构赋值
2017/02/12 Javascript
AngularJS解决ng-if中的ng-model值无效的问题
2017/06/21 Javascript
浅谈webpack打包之后的文件过大的解决方法
2018/03/07 Javascript
jquery 键盘事件 keypress() keydown() keyup()用法总结
2019/10/23 jQuery
简单了解JavaScript sort方法
2019/11/25 Javascript
python实现封装得到virustotal扫描结果
2014/10/05 Python
Python命令行参数解析模块optparse使用实例
2015/04/13 Python
python从入门到精通(DAY 1)
2015/12/20 Python
Python中常用操作字符串的函数与方法总结
2016/02/04 Python
python字典的常用操作方法小结
2016/05/16 Python
详解用python实现简单的遗传算法
2018/01/02 Python
Php多进程实现代码
2018/05/07 Python
python实现爬山算法的思路详解
2019/04/09 Python
对Python强大的可变参数传递机制详解
2019/06/13 Python
python快速排序的实现及运行时间比较
2019/11/22 Python
python获取array中指定元素的示例
2019/11/26 Python
Python3读取和写入excel表格数据的示例代码
2020/06/09 Python
Python爬虫新手入门之初学lxml库
2020/12/20 Python
Gap英国官网:Gap UK
2018/07/18 全球购物
工业设计专业推荐信
2013/10/29 职场文书
幽默自我介绍演讲稿
2014/08/21 职场文书
golang 语言中错误处理机制
2021/08/30 Golang