以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请教袍哥字符比较 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=79327) |
||||
-- 作者:hbhb -- 发布时间:2015/12/29 10:02:00 -- 请教袍哥字符比较 大师:好!请教字符类似比较?见实例 希望达到的效果: 比较表a的第一列与第二列的字符串,如果有两个以上连续字符相同,就在表b中的第一列,第二列列出该对字符串?
|
||||
-- 作者:大红袍 -- 发布时间:2015/12/29 10:18: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) If dr("第二列").indexOf(str) >= 0 Then For j As Integer = 3 To dr("第一列").length - i Dim s = dr("第一列").Substring(i, j) If dr("第二列").indexOf(s) >= 0 Then str = s End If Next msgbox(str & " " & dr("第二列")) Exit For End If Next Next [此贴子已经被作者于2015/12/29 10:23:40编辑过]
|
||||
-- 作者:大红袍 -- 发布时间:2015/12/29 10:26: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 fdr As DataRow = DataTables("表A").find("第二列 like \'%" & str & "%\'") If fdr IsNot Nothing Then For j As Integer = 3 To dr("第一列").length - i Dim s = dr("第一列").Substring(i, j) fdr = DataTables("表A").find("第二列 like \'%" & s & "%\'") If fdr IsNot Nothing Then str = s Else Exit For End If Next msgbox(dr("第一列") & " " & str & " " & fdr("第二列")) Exit For End If Next Next |
||||
-- 作者:hbhb -- 发布时间:2015/12/29 10:37:00 -- 谢谢!第二个不对?大中华不对? |
||||
-- 作者:hbhb -- 发布时间:2015/12/29 10:40:00 -- 有无字符模糊匹配的方法,也就是指定字符数量后比较? |
||||
-- 作者:大红袍 -- 发布时间:2015/12/29 10:42:00 -- 认认真真看懂2、3楼代码。
看懂2、3楼,自己做个函数来调用即可。 |
||||
-- 作者:hbhb -- 发布时间:2015/12/29 10:51:00 -- 用哪一个? |
||||
-- 作者:hbhb -- 发布时间:2015/12/29 11:09:00 -- 两列数据互换就不行了?如何办? |
||||
-- 作者:大红袍 -- 发布时间:2015/12/29 11:12:00 -- 看6楼啊,能看懂代码改成自己的啊。 |
||||
-- 作者:hbhb -- 发布时间:2015/12/29 11:17:00 -- 智商低,不容易看懂,劳驾写一个完整的如何,让我慢慢品味? |