赞
踩
时 间:2018-06-22 08:32:23
作 者:摘 要:最近遇到一个问题,就是关于两个字符串比对的问题,该如何去比对,比对得到的一个比例是否有参考意义,也请教了一位大神,大神给了一些思路,有了大神的帮助解决问题自然就变得简单了。
正 文:
两个字符串比较思路:假设Expression为被比较的字符串,FindString 为去比较的字符串,得到FindString字符串与Expression字符串相同字符的数量=A;FindString字符串与Expression字符串并集的长度=B,最后得到比例=A/B
首先计算出A和B的交(A ∩ B),以及A和B的并 (A ∪ B),Jaccard Similarity J(A,B)=|Intersecion(A,B)|/|Union(A,B)|
例:Expression=增城玲龙宠物医院,FindString=增城新宠兽医诊所,两个字符串交集的长度为4,两个字符串并集的长度为12,结果4/12≈33.33%
Function StrLike(ByVal Expression As String, ByVal FindString) As Single
Dim intCounter As Integer
Dim intI As Integer
If Trim(FindString) = "" Then Exit Function
FindString = Replace(FindString, " ", "")
For intI = 1 To Len(FindString)
If InStr(1, Expression, Mid(FindString, intI, 1)) > 0 Then
intCounter = intCounter + 1
End If
Next
StrLike = intCounter / (Len(Expression) + Len(FindString) - intCounter)
End Function
附 件:
图 示:
Access软件网QQ交流群(群号:39785885)
Access源码网店
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。