Foxtable(狐表)用户栏目专家坐堂 → 请教袍哥字符比较


  共有3320人关注过本帖树形打印复制链接

主题:请教袍哥字符比较

帅哥哟,离线,有人找我吗?
hbhb
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5055 积分:13047 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2015/12/29 12:38:00 [只看该作者]

还是不行,找不全?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/29 15:00:00 [只看该作者]

For Each dr As DataRow In DataTables("表A").DataRows
    For i As Integer = 0 To dr("第一列").length - 2
        Dim str As String = dr("第一列").Substring(i, 2)
        Dim drs As List(of DataRow) = DataTables("表A").Select("第二列 like '%" & str & "%'")
        For Each cdr As DataRow In drs
            Dim temp As String = str
            For j As Integer = 3 To dr("第一列").length - i
                Dim s = dr("第一列").Substring(i, j)
                If cdr("第二列") Like "*" & s & "*" Then
                    temp = s
                Else
                    Exit For
                End If
            Next
            msgbox(dr("第一列") & " " & temp & " " & cdr("第二列"))
        Next
        'If drs.count > 0 Then Exit For
    Next
Next

 回到顶部
帅哥哟,离线,有人找我吗?
hbhb
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5055 积分:13047 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2015/12/30 19:40:00 [只看该作者]

谢谢!请问如何让dr("第一列" 及cdr("第二列")重复的不显示?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/30 19:53:00 [只看该作者]

什么称之为重复的不显示?举例说明。

 回到顶部
帅哥哟,离线,有人找我吗?
hbhb
  25楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5055 积分:13047 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2015/12/30 20:03:00 [只看该作者]

比如中国家与大中国家
运行以上代码后会显示很多的查找对应字符,因为实际就是一对,重复的就不要列示出来了。
就显示中国家与大中国家,让客户判断是不是一家?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/30 20:04:00 [只看该作者]

加上代码

 

If drs.count > 0 Then Exit For


 回到顶部
帅哥哟,离线,有人找我吗?
hbhb
  27楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5055 积分:13047 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2015/12/30 20:35:00 [只看该作者]

考虑了很长时间,您一句就解决了,惭愧呀,惭愧!
再请问,如何去除相同的及左右互换相同重复的?
1、比如:大师             大师                  查找后这样的不显示
 2、  大红袍大师     特级大师     
        特级大师       大红袍大师               查找后如果是这样的,就显示一个?                                                 

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  28楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/30 20:54:00 [只看该作者]

For Each dr As DataRow In DataTables("表A").DataRows
    For i As Integer = 0 To dr("第一列").length - 2
        Dim str As String = dr("第一列").Substring(i, 2)
        Dim drs As List(of DataRow) = DataTables("表A").Select("第二列 like '%" & str & "%'")
        For Each cdr As DataRow In drs
            Dim temp As String = str
            For j As Integer = 3 To dr("第一列").length - i
                Dim s = dr("第一列").Substring(i, j)
                If cdr("第二列") Like "*" & s & "*" Then
                    temp = s
                Else
                    Exit For
                End If
            Next
            If dr("第一列") <> dr("第二列") Then
                'If dr("第一列") <> cdr("第二列") Then
                msgbox(dr("第一列") & " " & temp & " " & cdr("第二列"))
            End If
        Next
        If drs.count > 0 Then Exit For
    Next
Next

 回到顶部
帅哥哟,离线,有人找我吗?
hbhb
  29楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5055 积分:13047 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2015/12/30 21:14:00 [只看该作者]

谢谢!
请问这样是否就能模糊列出两列类似字符?或者还有其他更好的办法?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  30楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/30 21:16:00 [只看该作者]

就是这样模糊匹配的,这个是最简单的方法。

 回到顶部
总数 34 上一页 1 2 3 4 下一页