Python同时替换多个字符串

class make_xlat:
    def __init__(self, *args, **kwargs):
        self.adict = dict(*args, **kwargs)
        self.rx = self.make_rx()

    def make_rx(self):
        return re.compile('|'.join(map(re.escape, self.adict)))

    def one_xlat(self, match):
        return str(self.adict[match.group(0)])

    def __call__(self, text):
        return self.rx.sub(self.one_xlat, text)


obj = make_xlat(adict)  # adict 映射字典
obj('要转换的字符串')

来源于《Python Cookbook(第2版)中文版》——1.18 一次完成多个替换

你可能感兴趣的:(python)