我有一个带有正面和负面情绪的单词列表,例如['happy', 'sad']
现在处理推文时,我正在删除这样的重复字符(只允许重复2次):
happpppyyy -> happyy
saaad -> saad
检查是否例如saad
是单词列表的一部分现在应该返回True
,因为它类似于sad
。
如何实现此行为?
答案 0 :(得分:3)
我会构建动态转换单词的正则表达式:
happy
到
h+a+p+p+y+
将“快乐”字样列表传递给:
import re
re_list = [re.compile("".join(["{}+".format(c) for c in x])) for x in ['happy', 'glad']]
然后对其进行测试(如果有任何正常的正则表达式匹配,则使用any
返回True
:
for w in ["haaappy","saad","glaad"]:
print(w,any(re.match(x,w) for x in re_list))
结果:
haaappy True
saad False
glaad True