我正在尝试通过将其中使用的缩写替换为其实际的短语等价来规范化字符串。我在名为“dict”的python字典中有一个这样的缩写列表。例如:
print dict['gf']
会导致:
girlfriend
现在,我的问题是,由于这本字典中有大约 300 个键,我需要一种快速的方法来检查这些键中是否有任何一个出现在给定的字符串中。我最初的想法是使用下面的正则表达式,然后以某种方式尝试检查并比较字典的所有键与给定字符串中的所有单词(我在下面的代码中将其命名为“文本”),但我注意到我不能将变量放在字符串的中间。
import re
text = "I have a gf"
print re.sub (r'(?<![a-zA-Z])(gf)(?![a-zA-Z])', 'girlfriend', text)
这将打印:
I have a girlfriend
但正如您所注意到的,我不能将这种方法应用于上述情况。谁能帮我这个?提前致谢!