繁体   English   中英

我如何在python中比较这两个字符串?

[英]How do I compare these two strings in python?

在抓取RSS Feed时,我不希望将重复项添加到我的列表中。 问题是我的if title not in mylist行中检测到一些重复项,因为它们略有不同。 尽管如此,这两个新闻项目基本相同。 看看这两个。

"Kom igjen, norsk ungdom, de eldre trenger oss!"
"Kom igjen norsk ungdom, de eldre trenger oss"

如你所见,第一个在Kom igjen之后有逗号,而第二个没有,并且在结尾有一个感叹号。

由于没有其他唯一ID使单个项目唯一,我不知道如何检测上述重复项。

Python有一个SequenceMatcher内置:

from difflib import SequenceMatcher
SequenceMatcher(None, "Hello you!", "Hello you").ratio()
0.9473684210526315
SequenceMatcher(None, "Apple", "Orange").ratio()
0.18181818181818182

因此,您可以循环所有并将比率与某个阈值进行比较。

在将新闻添加到列表中以删除标点符号之前,您可以使用str.translate方法:

>>> s1.translate(None, string.punctuation)
'Kom igjen norsk ungdom de eldre trenger oss'

在这种情况下,您将根据他们的字母对比您的文本。

在python 3中,您可以:

>>> s1.translate(dict.fromkeys(map(ord,string.punctuation),None))
'Kom igjen norsk ungdom de eldre trenger oss'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM