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命令行解析模块详解
Feb 01 Python
python实现LBP方法提取图像纹理特征实现分类的步骤
Jul 11 Python
更新pip3与pyttsx3文字语音转换的实现方法
Aug 08 Python
详解python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决
Aug 27 Python
python3使用GUI统计代码量
Sep 18 Python
keras 简单 lstm实例(基于one-hot编码)
Jul 02 Python
Python爬取微信小程序Charles实现过程图解
Sep 29 Python
python对输出的奇数偶数排序实例代码
Dec 04 Python
Jupyter notebook 不自动弹出网页的解决方案
May 21 Python
Python实现照片卡通化
Dec 06 Python
Python实战之大鱼吃小鱼游戏的实现
Apr 01 Python
Python使用华为API为图像设置多个锚点标签
Apr 12 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 模拟 asp.net webFrom 按钮提交事件的思路及代码
2013/12/02 PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
2016/09/11 PHP
php微信公众号开发之快递查询
2018/10/20 PHP
接收键盘指令的脚本
2006/06/26 Javascript
JS重要知识点小结
2011/11/06 Javascript
jQuery.extend 函数详解
2012/02/03 Javascript
兼容主流浏览器的jQuery+CSS 实现遮罩层的简单代码
2014/10/14 Javascript
jQuery中append()方法用法实例
2014/12/25 Javascript
使用Meteor配合Node.js编写实时聊天应用的范例
2015/06/23 Javascript
jquery插件pagination实现无刷新ajax分页
2015/09/30 Javascript
js简单设置与使用cookie的方法
2016/01/22 Javascript
JavaScript实现iframe自动高度调整和不同主域名跨域
2016/02/27 Javascript
jQuery实现的鼠标经过时变宽的效果(附demo源码)
2016/04/28 Javascript
Active控件问题小结(附解决办法)
2016/06/09 Javascript
javascript弹出带文字信息的提示框效果
2016/07/19 Javascript
JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】
2017/03/03 Javascript
详解Vue整合axios的实例代码
2017/06/21 Javascript
详解Vue组件之作用域插槽
2018/11/22 Javascript
vue点击自增和求和的实例代码
2019/11/06 Javascript
原生js实现分页效果
2020/09/23 Javascript
linux下安装easy_install的方法
2013/02/10 Python
python中split方法用法分析
2015/04/17 Python
python从入门到精通(DAY 1)
2015/12/20 Python
PyQt5每天必学之弹出消息框
2018/04/19 Python
Django 开发调试工具 Django-debug-toolbar使用详解
2019/07/23 Python
浅析python标准库中的glob
2020/03/13 Python
Python面向对象程序设计之继承、多态原理与用法详解
2020/03/23 Python
python 发送邮件的四种方法汇总
2020/12/02 Python
Python+kivy BoxLayout布局示例代码详解
2020/12/28 Python
美国男士西装打折店:Jos. A. Bank
2017/11/13 全球购物
英国厨房与餐具用品为主的设计品牌:Joseph Joseph
2018/04/26 全球购物
大学生文员专业个人求职信范文
2014/01/05 职场文书
村干部群众路线整改措施思想汇报
2014/10/12 职场文书
鲁滨孙漂流记读书笔记
2015/06/30 职场文书
终止合同协议书范本
2016/03/22 职场文书
一篇文章弄懂Python中的内建函数
2021/08/07 Python