Foxtable(狐表)用户栏目专家坐堂 → [求助]匹配问题


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

主题:[求助]匹配问题

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


加好友 发短信
等级:幼狐 帖子:106 积分:1331 威望:0 精华:0 注册:2021/8/20 16:21:00
[求助]匹配问题  发帖心情 Post By:2022/2/18 16:20:00 [只看该作者]

类似这种
表A 甲列
ABC
AACD
CAD
FABA
表B 乙列
A
CA
AA
表B中各单字符均在表A某行出现,则为匹配到的行。像AA这样的只能匹配AACD、FABA
可以用like写出来吗?dim drs as list(of datarow) = datatables("表A").select("甲列 like ......)
[此贴子已经被作者于2022/2/18 16:22:37编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/18 16:28:00 [只看该作者]

可以匹配AACD。没有办法匹配FABA

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


加好友 发短信
等级:幼狐 帖子:106 积分:1331 威望:0 精华:0 注册:2021/8/20 16:21:00
  发帖心情 Post By:2022/2/19 18:39:00 [只看该作者]

不能用通配符匹配的话,像下面逐个去比对得到匹配的行,请指教是否可行
For Each r As DataRow In DataTables("表B").DataRows
    Dim zds As new List(of DataRow)
    Dim s As String = r("乙列")
    For Each dr As DataRow In DataTables("表A").DataRows
        Dim y As String = dr("甲列")
        For i As Integer = 0 To s.Length -1
            If y.IndexOf(s(i)) <> -1 Then
                y = y.Remove(y.IndexOf(s(i)),1)
            End If
        Next
        If y.Length = dr("甲列").length - s.Length Then
            zds.Add(dr)
        End If
    Next
......



 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/20 21:01:00 [只看该作者]

也只能这样了

 回到顶部