【Access示例】两个字符串之间的相似性分析/两个字符串之间的比对-will.miao
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-窗体/数据页


【Access示例】两个字符串之间的相似性分析/两个字符串之间的比对

发表时间:2018/6/22 8:32:23 评论(3) 浏览(8183)  评论 | 加入收藏 | 复制
   
摘 要:最近遇到一个问题,就是关于两个字符串比对的问题,该如何去比对,比对得到的一个比例是否有参考意义,也请教了一位大神,大神给了一些思路,有了大神的帮助解决问题自然就变得简单了。
正 文:

我们的大神红尘如烟 发给我这样一个链接https://blog.csdn.net/yixianfeng41/article/details/61917158 我在看完后,得到了这样的思路

两个字符串比较思路:假设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群(群号:198465573)
 
 相关文章
【access小品】基因比对示例  【煮江品茶  2011/10/23】
【access小品】有个数学叫模糊--字符串相似性比对示例  【煮江品茶  2012/2/24】
【Access小品】混沌中的明白--模糊数学运用经典范例  【煮江品茶  2013/8/15】
【Access DCount示例】模糊统计子窗体符合条件的记录数示...  【麥田  2014/4/25】
【Access DCount示例】模糊统计表中指定值的记录数示例\...  【麥田  2014/4/28】
【Access源码示例】改进后的完美实现组合框模糊搜索功能;Acc...  【红尘如烟  2015/6/24】
【Access小品】秋雨绵绵--两表比对示例  【煮江品茶  2015/11/19】
常见问答
技术分类
相关资源
文章搜索
关于作者

will.miao

文章分类

文章存档

友情链接