一次性替換多個字元
阿新 • • 發佈:2019-01-12
temp_str = "abcdefgh" # 待替換字串
multi_map = temp_str.maketrans({"a": "0",
"g": "0"}) # 多個對映,實現多個替換
ret = temp_str.translate(multi_map) # 一次性替換
print(ret)
# 注意此方法multi_map的鍵的長度必須是1
還有就是簡單的一個方法封裝
import re my_str = "a\rb\xa0545$$k" rep = {"\r": "", "\xa0": ""} def multiple_replace(text, multi_map): """ 一次性替換多個字串 :param text: 待替換字串文字 :param multi_map:替換對映 :return: ret_str 替換完成後的字串文字 """ multi_map = dict((re.escape(k), v) for k, v in multi_map.items()) pattern = re.compile("|".join(multi_map.keys())) ret_str = pattern.sub(lambda m: multi_map[re.escape(m.group(0))], text) return ret_str ret_test = multiple_replace(my_str, rep) print(ret_test) # 暫未確定是否有bug