摘要:先給出結(jié)論:要替換的字符數(shù)量不多時(shí),可以直接鏈?zhǔn)絩eplace()方法進(jìn)行替換,效率非常高;如果要替換的字符數(shù)量較多,則推薦在 for 循環(huán)中調(diào)用 replace() 進(jìn)行替換??尚械姆椒ǎ?. 鏈?zhǔn)絩eplace()string.replace().replace() 1.x 在for循環(huán)中調(diào)用replace() 「在
先給出結(jié)論:
要替換的字符數(shù)量不多時(shí),可以直接鏈?zhǔn)絩eplace()方法進(jìn)行替換,效率非常高;
如果要替換的字符數(shù)量較多,則推薦在 for 循環(huán)中調(diào)用 replace() 進(jìn)行替換。
可行的方法:
1. 鏈?zhǔn)絩eplace()
string.replace().replace()
1.x 在for循環(huán)中調(diào)用replace() 「在要替換的字符較多時(shí)」
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'\#')
更多關(guān)于python中快速進(jìn)行多個(gè)字符替換的方法小結(jié)請(qǐng)關(guān)注PHP中文網(wǎng)(ipnx.cn)其他文章!