嗨喽~大家好呀,这里是魔王呐 ❤ ~!
python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取
如何使用thefuzz 库,它允许我们在python中进行模糊字符串匹配。
此外,我们将学习如何使用process 模块,该模块允许我们在模糊字符串逻辑的帮助下有效地匹配或提取字符串。
使用thefuzz 模块来匹配模糊字符串
这个库在旧版本中有一个有趣的名字,因为它有一个特定的名字,这个名字被重新命名。
所以现在是由不同的库来维护;但是,它目前的版本叫做thefuzz ,所以这就是你可以通过下面的命令来安装的。
pip install thefuzz
但是,如果你在网上看例子,你会发现一些例子的旧名称是fuzzywuzzy 。所以,它已经不再被维护并且过时了,但是你可能会发现一些用这个名字的例子。
thefuzz 库是基于 ,所以你必须用这个命令来安装它。python-Levenshtei
pip install python-Levenshtein
而如果你在安装过程中遇到一些问题,你可以使用下面的命令,如果再次遇到错误,那么你可以在google上搜索,找到相关的解决方案。
pip install python-Levenshtein-wheels
本质上,模糊匹配字符串就像使用regex或沿着两个字符串的比较。
在模糊逻辑的情况下,你的条件的真值可以是0 和1 之间的任何实数。
因此,基本上,不是说任何东西是True 或False ,你只是给它在0 到1 之间的任何值。
它是通过使用距离度量计算两个字符串之间的不相似性,其形式是一个称为距离的值。
使用给定的字符串,你使用一些算法找到两个字符串之间的距离。一旦你完成了安装过程,你必须从thefuzz 模块中导入fuzz 和process 。
from thefuzz import fuzz, process
在使用fuzz ,我们将手动检查两个字符串之间的不相似性。
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
ST1='Just a test'
ST2='just a test'
print(ST1==ST2)
print(ST1!=ST2)
它将返回一个布尔值,但以一种模糊的方式,你会得到这些字符串的相似程度的百分数。
False
True
模糊字符串匹配允许我们以模糊的方式更有效、更快速地完成这项工作。假设我们有一个例子,有两个字符串,其中一个字符串与大写的J (如上所述)不相同。
如果我们现在去调用ratio() 函数,它给我们一个相似性的度量,那么这将为我们提供一个相当高的比率,即91 ,而不是100 。
from thefuzz import fuzz, process
print(fuzz.ratio(ST1, ST2))
输出:
91
如果字符串更加延长,例如,如果我们不只是改变一个字符,而是改变一个完全不同的字符串,那么看看它的回报,看一看。
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
ST1='This is a test string for test'
ST2='There aresome t