如何在Python中比较两个字符串(英语除外)之间的相似性

2024-10-02 16:24:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我想找出这两个字符串之间的相似之处 范例

string1 = "One"
string2 = "one"

我希望答案在0到1之间。对于以上两个字符串,我们得到1。 现在我使用的是“水母”,python中的一个模块,它具有jaro_distance()函数。 但缺点是我只能比较两个只包含英语单词和其他特殊字符的字符串。但我想比较其他语言中的两个字符串,比如旁遮普语

string1 = "ਬੁੱਧਵਾਰ"
string2 = "ਬੁੱਧਵਾ"

我尝试了相同的jaro_distance()函数,但我得到了

>>score = jellyfish.jaro_distance(unicode(string1), unicode(string2))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0: ordinal not in range(128)

在将它们输入函数之前,我尝试对它们进行编码和解码。 是否有任何方法可以将jaro_distance()用于其他语言,或者是否有任何其他模块/函数可用于此目的? 你们能帮我吗


Tags: 模块函数字符串答案in语言unicodeone
1条回答
网友
1楼 · 发布于 2024-10-02 16:24:27

您可以使用内置模块difflib中的SequenceMatcher

代码示例:

import difflib

print(difflib.SequenceMatcher(None, "ਬੁੱਧਵਾਰ", "ਬੁੱਧਵਾ").ratio())

输出:

0.9230769230769231

相关问题 更多 >