gpt4 book ai didi

python - 如何在 Python 中过滤集合中的文本

转载 作者:太空宇宙 更新时间:2023-11-03 14:23:16 25 4
gpt4 key购买 nike

我正在浏览文本,我想保存不包含特定文本的项目。

文本由单个单词和多个单词组成。

到目前为止我已经:

def check_data(text):
filter_words = ['subscribe','entertaining']
filter_bigrams = [{'free', 'ticket'}, {'current', 'price'}]


for filter in filter_words:
if filter in text:
return(0)

for filter in filter_bigrams:
if filter in text:
return(0)

return(1)

mytext = 'free xubscribes tickets now'
found = check_data(mytext)
print(found)

以及我得到的错误:

TypeError: 'in <string>' requires string as left operand, not set

在上面的过滤器二元组中不起作用。请帮忙?

谢谢

最佳答案

您可以使用此解决方案。您不必迭代 filter_words 来检查 text 是否是 filter_words 的成员之一。但是,您必须迭代 filter_bigrams 因为它是集合列表。请注意,此解决方案只会导致第一个匹配。

import re

def check_data(text):
all_words = re.findall(r'\b\w+\b', text)
filter_words = ['subscribe','entertaining']
filter_bigrams = [{'free', 'ticket'}, {'current', 'price'}]

for word in all_words
if word in filter_words:
return(0)


for filter in filter_bigrams:
if word in filter:
return(0)

return(1)

mytext = 'free xubscribes tickets now'
found = check_data(mytext)
print(found)

关于python - 如何在 Python 中过滤集合中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47808037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com