Iterative find/replace from a list of tuples in Python

前端 未结 5 1591
走了就别回头了
走了就别回头了 2020-12-17 05:37

I have a list of tuples, each containing a find/replace value that I would like to apply to a string. What would be the most efficient way to do so? I will be applying this

5条回答
  •  囚心锁ツ
    2020-12-17 05:41

    You could consider using re.sub:

    import re
    REPLACEMENTS = dict([('find1', 'replace1'),
                         ('find2', 'replace2'),
                         ('find3', 'replace3')])
    
    def replacer(m):
        return REPLACEMENTS[m.group(0)]
    
    x = 'find1, find2, find3'
    r = re.compile('|'.join(REPLACEMENTS.keys()))
    print r.sub(replacer, x)
    

提交回复
热议问题