对一个句子中的多处不同的词的替换,可以采用依次将句子中的每个词分别和词典进行匹配,匹配成功的进行替换来实现,可是这种方法直觉上耗时就很长,对于一个篇幅很长的文档,会花费很多的时间,这里介绍一种可以一次性替换句子中多处不同的词的方法,代码如下:
#!/usr/bin/env python # coding=utf-8 import re def multiple_replace(text, idict): rx = re.compile(‘|‘.join(map(re.escape, idict))) def one_xlat(match): return idict[match.group(0)] return rx.sub(one_xlat, text) idict={‘3‘:‘2‘, ‘apples‘:‘peaches‘} textBefore = ‘I bought 3 pears and 4 apples‘ textAfter= multiple_replace(textBefore,idict) print (textBefore) print (textAfter)
运行结果为:
I bought 3 pears and 4 apples I bought 2 pears and 4 peaches
可见,multiple_replace() 函数的返回值也是一个字符串(句子),且一次性将 "3" 替换为 "2",将 "apples" 替换为 "peaches"
参考: http://blog.csdn.net/huludan/article/details/50925735
时间: 2025-01-11 10:59:58