regex 如何在Python中链接多个re.sub()命令

rjjhvcjd  于 2023-05-30  发布在  Python
关注(0)|答案(2)|浏览(135)

此问题已在此处有答案

How to replace multiple substrings of a string?(28回答)
5年前关闭。
我想在一个字符串上做多个re.sub()替换,每次我都用 * 不同的 * 字符串替换。
当我有很多子字符串要替换时,这看起来很重复。有没有人能建议一个更好的方式来做这件事?

stuff = re.sub('__this__', 'something', stuff)
stuff = re.sub('__This__', 'when', stuff)
stuff = re.sub(' ', 'this', stuff)
stuff = re.sub('.', 'is', stuff)
stuff = re.sub('__', 'different', stuff).capitalize()
s5a0g9ez

s5a0g9ez1#

将搜索/替换字符串存储在一个列表中并循环遍历它:

replacements = [
    ('__this__', 'something'),
    ('__This__', 'when'),
    (' ', 'this'),
    ('.', 'is'),
    ('__', 'different')
]

for old, new in replacements:
    stuff = re.sub(old, new, stuff)

stuff = stuff.capitalize()

请注意,当你想替换一个文字.字符时,你必须使用'\.'而不是'.'

pkmbmrz7

pkmbmrz72#

tuple = (('__this__', 'something'),('__This__', 'when'),(' ', 'this'),('.', 'is'),('__', 'different'))

for element in tuple:
    stuff = re.sub(element[0], element[1], stuff)

相关问题