python中快速进行多个字符替换的方法小结
作者:daisy 发布时间:2021-08-19 05:59:34
标签:python,字符串
先给出结论:
要替换的字符数量不多时,可以直接链式
replace()
方法进行替换,效率非常高;如果要替换的字符数量较多,则推荐在 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
来源:http://crazyof.me/blog/archives/3051.html?utm_source=tuicool&utm_medium=referral


猜你喜欢
- 很多人不明白,学习这些冷门的函数基本上都用不到,或者说是什么多大用处,事实上,有是有很多用处的,比如今天给大家介绍的uuid模块,就能够生成
- 本文实例讲述了Python实现的微信好友数据分析功能。分享给大家供大家参考,具体如下:这里主要利用python对个人微信好友进行分析并把结果
- 前言这篇文章主要介绍了使用Python画了一棵圣诞树的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价
- 首先,你得下载SocksiPy这个.解压出来之后里面会有一个socks.py文件.然后你可以把这个文件复制到python安装目录里面的Lib
- 一、必备插件🌾Chinese(中文)安装后,按快捷键Ctrl+Shift+P,输入configure languageSettings Sy
- 01 目标假设我们要实现一个blog系统,在该系统中有以下两个结构体:type Category struct {  
- 简述在大多数此类教程中都会不遗余力的介绍如何使用数据库。今天我们对数据库暂且不表,而是来关注另一个在web应用中很重要的特性:如
- Golang 高并发问题的解决Golang在高并发问题上,由于协程的使用,相对于其他编程语言,已经有了很大的优势,即相同的配置上,Golan
- global.asa<SCRIPT LANGUAGE=VBScript RUNAT=Server>Sub&n
- 目录全局中间件应用中间件路由中间件控制器中间件中间件传参6.0中间件分为系统中间件和应用中间件,系统中间件为核心框架内置的中间件,应用中间件
- 前言本文重点介绍 MySQL BIGINT 数据类型,并研究我们如何使用它来存储整数值。我们还将了解它的范围、存储大小和各种属性,包括有符号
- 这篇论坛文章(赛迪网技术社区)着重介绍了有关SQL注入防御的防御策略及实施步骤,详细内容请参考下文:从去年下半年开始,很多网站被损害,他们在
- 说绘画语言,西方的油画是人类视觉语言里怎么也不能忽略的浓烈一笔。14~15世纪,蛋彩画——油画前身的发明,绘画可以使用均匀过渡的色彩渐变,并
- 没错,全网最帅的比卡丘在我这~~~为了访问 Python 库,您需要将它导入到您的 Python 环境中,使用以下命令将其导入 turtle
- 一.random模块 随机 random() &
- 本文实例讲述了python创建一个最简单http webserver服务器的方法。分享给大家供大家参考。具体实现方法如下:import sy
- 使用PyCharm工具写好的Python程序脚本,怎么将.py文件编译为可执行的.exe文件前提是已经安装了Python环境。第一步:在Py
- 先说下自己的环境,redis是部署在centos上的,爬虫运行在windows上,1. 安装redisyum install -y redi
- 本文实例讲述了JavaScript实现同步于本地时间的动态时间显示方法。分享给大家供大家参考。具体分析如下:动态显示时间的例子非常简单,了解
- 1、确认框架中安装了第三方alibabacoud控件实现代码如下上传过程中遇到任务问题,可以进行留言<?php namespace A