python中快速进行多个字符替换的方法小结_python

先给出结论:

  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 字符串替换、python 字符替换、python正则替换字符串、python3 字符串替换、python批量替换字符串,以便于您获取更多的相关知识。

时间: 2024-10-24 12:05:08

python中快速进行多个字符替换的方法小结_python的相关文章

javascript中使用replaceAll()函数实现字符替换的方法_javascript技巧

而str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志). replace() The replace() method returns the string that results when you replace text matching its first argument (a regular expression) with the text of the second argument (a string). If the g (glob

Python中字典(dict)和列表(list)的排序方法实例_python

一.对列表(list)进行排序 推荐的排序方式是使用内建的sort()方法,速度最快而且属于稳定排序 复制代码 代码如下: >>> a = [1,9,3,7,2,0,5]>>> a.sort()>>> print a[0, 1, 2, 3, 5, 7, 9]>>> a.sort(reverse=True)>>> print a[9, 7, 5, 3, 2, 1, 0]>>> b = ['e','a'

Python中模拟enum枚举类型的5种方法分享_python

以下几种方法来模拟enum:(感觉方法一简单实用) 复制代码 代码如下: # way1 class Directions:     up = 0     down = 1     left = 2     right =3     print Directions.down # way2 dirUp, dirDown, dirLeft, dirRight = range(4) print dirDown # way3 import collections dircoll=collections.

在Python中使用base64模块处理字符编码的教程

  这篇文章主要介绍了在Python中使用base64模块处理字符编码的教程,示例代码基于Python2.x版本,需要的朋友可以参考下 Base64是一种用64个字符来表示任意二进制数据的方法. 用记事本打开exe.jpg.pdf这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符,所以,如果要让记事本这样的文本处理软件能处理二进制数据,就需要一个二进制到字符串的转换方法.Base64是一种最常见的二进制编码方法. Base64的原理很简单,首先,准备一个包含64个字符

用Python中的字典来处理索引统计的方法

  这篇文章主要介绍了用Python中的字典来处理索引统计的方法,字典的使用是Python学习当中的基础知识,本文则是相关的一个小实践,需要的朋友可以参考下 最近折腾索引引擎以及数据统计方面的工作比较多, 与 Python 字典频繁打交道, 至此整理一份此方面 API 的用法与坑法备案. 索引引擎的基本工作原理便是倒排索引, 即将一个文档所包含的文字反过来映射至文档; 这方面算法并没有太多花样可言, 为了增加效率, 索引数据尽可往内存里面搬, 此法可效王献之习书法之势, 只要把十八台机器内存全部

在Python中使用glob模块查找文件路径的方法

  这篇文章主要介绍了在Python中使用glob模块查找文件路径的方法,使用模块其中的iglob方法实现起来非常简单,需要的朋友可以参考下 glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.跟使用windows下的文件搜索差不多.查找文件只用到三个匹配符:"*", "?", "[]"."*"匹配0个或多个字符;"?"匹配单个字符;"[]"匹配指定范围内的

Python中用于检查英文字母大写的isupper()方法

  这篇文章主要介绍了Python中用于检查英文字母大写的isupper()方法,是Python入门中的基础知识,需要的朋友可以参考下 isupper()方法检查字符串的所有基于大小写的字符(字母)是否是大写. 语法 以下是isupper()方法的语法: ? 1 str.isupper() 参数 NA 返回值 如果字符串中的所有字符是大写字母并且至少有一个可大小写字符此方法返回true,否则返回false. 例子 下面的例子显示了isupper()方法的使用. ? 1 2 3 4 5 6 7 #

Python中用于转换字母为小写的lower()方法使用简介

  这篇文章主要介绍了Python中用于转换字母为小写的lower()方法使用,是Python学习中的基础知识,需要的朋友可以参考下 lower()方法返回所有基于大小写的字符被转换为小写字符串的一个副本. 语法 以下是lower()方法的语法: ? 1 str.lower() 参数 NA 返回值 此方法返回的所有基于大小写字符被转化为小写字符串的一个副本. 例子 下面的例子显示了lower()方法的使用. ? 1 2 3 4 5 #!/usr/bin/python   str = "THIS

python中json格式数据输出的简单实现方法_python

主要使用json模块,直接导入import json即可. 小例子如下: #coding=UTF-8 import json info={} info["code"]=1 info["id"]=1900 info["name"]='张三' info["sex"]='男' list=[info,info,info] data={} data["code"]=1 data["id"]=190