我有个考虑敏感词过滤的问题。虽然我的基本代码可以检测到这个单词并将其过滤掉,但是如果我们的敏感词是“示例”,如果我输入了“this ple”,系统就不会将其识别为敏感单词。虽然这并不是Python特有的,但我仍然想问是否有人有办法过滤掉类似于‘this ple’之类的东西。另外,我不喜欢使用移除空格和下划线方法,因为它们花费的时间太长。
注意:
我可以手动实现一个功能,除了那些看起来像敏感词但与它无关的单词。换句话说,我将处理错误更正。
发布于 2021-08-19 01:08:36
一种可能的方法是将单词串拆分成一个列表,然后循环查看每个单词的单词列表(和可能的单词片段),以及该单词与下一个单词的和。在这样做的过程中,使用了一个方便的break策略和try-except成语:
bad_words = ["foo", "bar"]
the_list = the_string.split()
i = 0
while True:
try:
if the_list[i] in bad_words:
del the_list[i]
if the_list[i] + the_list[i+1] in bad_words:
del the_list[i]
del the_list[i+1]
except IndexError:
break
else:
i += 1
the_string = " ".join(the_list)https://stackoverflow.com/questions/68840426
复制相似问题