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中itertools模块用法详解
Sep 25 Python
Python自动连接ssh的方法
Mar 07 Python
python获取当前日期和时间的方法
Apr 30 Python
详解Python的Flask框架中生成SECRET_KEY密钥的方法
Jun 07 Python
使用python和pygame绘制繁花曲线的方法
Feb 24 Python
python模拟表单提交登录图书馆
Apr 27 Python
python正则表达式匹配[]中间为任意字符的实例
Dec 25 Python
Python删除n行后的其他行方法
Jan 28 Python
Django实现CAS+OAuth2的方法示例
Oct 30 Python
Python定义函数时参数有默认值问题解决
Dec 19 Python
Pytorch中实现只导入部分模型参数的方式
Jan 02 Python
python encrypt 实现AES加密的实例详解
Feb 20 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
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
2014/08/20 PHP
php实现随机生成易于记忆的密码
2015/06/19 PHP
PHP简单操作MongoDB的方法(安装及增删改查)
2016/05/26 PHP
PHP 数组遍历foreach语法结构及实例
2016/06/13 PHP
Laravel实现ORM带条件搜索分页
2019/10/24 PHP
2007/12/23更新创意无限,简单实用(javascript log)
2007/12/24 Javascript
javascript网页关闭时提醒效果脚本
2008/10/22 Javascript
jquery ajax abort()的使用方法
2010/10/28 Javascript
datagrid框架的删除添加与修改
2013/04/08 Javascript
简单实用jquery版三级联动select示例
2013/07/04 Javascript
jquery 3D 标签云示例代码
2014/06/12 Javascript
轻松创建nodejs服务器(9):实现非阻塞操作
2014/12/18 NodeJs
JavaScript实现列出数组中最长的连续数
2014/12/29 Javascript
jquery获取及设置outerhtml的方法
2015/03/09 Javascript
jQuery实现的简单折叠菜单(折叠面板)效果代码
2015/09/16 Javascript
jQuery实现鼠标双击Table单元格变成文本框及输入内容后更新到数据库的方法
2015/11/25 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
说说Vue.js中的functional函数化组件的使用
2019/02/12 Javascript
怎样使你的 JavaScript 代码简单易读(推荐)
2019/04/16 Javascript
使用rpclib进行Python网络编程时的注释问题
2015/05/06 Python
tensorflow建立一个简单的神经网络的方法
2018/02/10 Python
Python zip()函数用法实例分析
2018/03/17 Python
numpy判断数值类型、过滤出数值型数据的方法
2018/06/09 Python
pytorch 数据集图片显示方法
2018/07/26 Python
Form表单及django的form表单的补充
2019/07/25 Python
Numpy之reshape()使用详解
2019/12/26 Python
详解Python中string模块除去Str还剩下什么
2020/11/30 Python
美津浓巴西官方网站:Mizuno巴西
2019/07/24 全球购物
大学生自我评价怎样写好
2013/10/23 职场文书
优秀毕业生求职推荐信范文
2013/11/21 职场文书
教师自我剖析材料范文
2014/09/30 职场文书
租车协议书
2015/01/27 职场文书
导游词之无锡东林书院
2019/12/11 职场文书
使用Redis实现秒杀功能的简单方法
2021/05/08 Redis
关于mysql中时间日期类型和字符串类型的选择
2021/11/27 MySQL
详解SQL的窗口函数
2022/04/21 Oracle