pattern = re.compile(r'\b(' + '|'.join(re.escape(key) for key in abbreviationsDict().keys()) + r')\W', flags=re.I)
s = pattern.sub(lambda x: abbreviationsDict()[x.group(1)] + ' ', s)
字典的功能是:
def abbreviationsDict():
return {'ref.': 'reference', 'ref:': 'reference', 'approx.': 'approximately', 'no.': '', 'nos.': ''}
为了这句话
s = "Variation of Condition on planning application Ref: CB/15/03633/FULL dated 30/11/2015: Condition 9"
我得到一个错误:
s = pattern.sub(lambda x: abbreviationsDict()[x.group(1)] + ' ', s)
KeyError: 'Ref:'
当我小写的时候
s
变量,但我得到小写的结果。这面旗子我做错什么了,所以不能按需使用?