以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]匹配问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=175075)

--  作者:michl
--  发布时间: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编辑过]

--  作者:有点蓝
--  发布时间:2022/2/18 16:28:00
--  
可以匹配AACD。没有办法匹配FABA
--  作者:michl
--  发布时间: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
......



--  作者:有点蓝
--  发布时间:2022/2/20 21:01:00
--  
也只能这样了