2024-04-20 01:16:12 发布
网友
我有一个json文件,其中包含要检查亵渎过滤器的术语。在
["bad", "word", "plug"]
我正在使用这个(从另一篇文章中找到)来解析json并在任何数据对象中搜索set words。在
问题是,如果我使用字符串“plumber”,由于json文件中的单词“plug”,检查失败。因为“plu”两个词都有。有没有办法强制json文件中的整个单词而不是部分单词?一旦运行输出无误:
你可以用字符串.拆分()作为分离字段名称的整个单词的方法。拆分时,它将返回按指定分隔符拆分的字符串的每个部分的列表。使用它,你可以检查这个亵渎的词是否在拆分列表中:
import json with open('terms.json') as data_file: data = json.load(data_file) for field_name in field_names: for term in data: if term in field_name.split(" "): self.add_validation_error( field_name, "%s has profanity" % field_name)
如果有标点符号或类似的东西,这是不可能的。例如,“太阳来了”这句话不会和坏词“太阳”匹配,也不会与“这里”匹配。要解决大写问题,您需要将整个输入改为小写:
删除标点有点复杂,但是this应该可以帮助您实现这一点。在
你可能需要考虑更多的边缘情况,所以我想了两个简单的例子。在
你可以用字符串.拆分()作为分离字段名称的整个单词的方法。拆分时,它将返回按指定分隔符拆分的字符串的每个部分的列表。使用它,你可以检查这个亵渎的词是否在拆分列表中:
如果有标点符号或类似的东西,这是不可能的。例如,“太阳来了”这句话不会和坏词“太阳”匹配,也不会与“这里”匹配。要解决大写问题,您需要将整个输入改为小写:
^{pr2}$删除标点有点复杂,但是this应该可以帮助您实现这一点。在
你可能需要考虑更多的边缘情况,所以我想了两个简单的例子。在
相关问题 更多 >
编程相关推荐