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

作者:daisy 时间:2021-08-19 05:59:34 

先给出结论:

  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

来源:http://crazyof.me/blog/archives/3051.html?utm_source=tuicool&utm_medium=referral

标签:python,字符串
0
投稿

猜你喜欢

  • Access中的模糊查询

    2007-11-18 14:57:00
  • python3+django2开发一个简单的人员管理系统过程详解

    2022-06-01 08:04:01
  • Laravel框架表单验证格式化输出的方法

    2022-05-25 04:49:52
  • python实现KNN近邻算法

    2022-08-13 08:24:58
  • python3 中时间戳、时间、日期的转换和加减操作

    2023-12-31 17:41:36
  • 基于微服务框架go-micro开发gRPC应用程序

    2023-06-22 21:19:27
  • Python实现调用摄像头拍摄照片

    2021-01-22 12:22:25
  • python在windows调用svn-pysvn的实现

    2022-03-15 05:13:48
  • python 动态渲染 mysql 配置文件的示例

    2024-01-26 05:15:20
  • PowerBI和Python关于数据分析的对比

    2023-07-08 15:52:45
  • 从其他电脑访问本机的Mysql的设置方法

    2024-01-17 10:25:57
  • Vue不能检测到Object/Array更新的情况的解决

    2024-05-09 15:14:32
  • IE window对象介绍

    2008-05-21 18:47:00
  • vue 下列表侧滑操作实例代码详解

    2024-04-30 10:19:36
  • Python类属性与实例属性用法分析

    2022-10-12 03:14:58
  • python opencv 简单阈值算法的实现

    2023-04-04 04:23:03
  • Python如何通过手肘法实现k_means聚类详解

    2021-03-13 16:35:34
  • Go中的条件语句Switch示例详解

    2024-05-09 10:11:25
  • 析构函数与php的垃圾回收机制详解

    2023-11-14 11:27:34
  • js实时监听文本框状态的方法

    2024-04-25 13:10:58
  • asp之家 网络编程 m.aspxhome.com