以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]if判断语句出错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=95261)

--  作者:铜豆
--  发布时间:2017/1/14 14:35:00
--  [求助]if判断语句出错
Select Case e.DataCol.Name
    Case "访客来源"
        Dim Arys1 As List(Of String())
        Arys1 = DataTables("信息库").GetValues("搜索工具|工具")
        Dim str As String = e.DataRow("访客来源")
        For Each Ary As String() In Arys1
            If str.Contains(Ary(0)) Then
                e.DataRow("搜索工具") = Ary(1)
            Else
                e.DataRow("搜索工具") ="电脑"
            End If
        Next
End Select
只要加上红色这段,所有的判断只会出现电脑,不会出现Ary(1),这是为什么呢?
 要到达不满足str.Contains(Ary(0))时显示电脑(电脑),如何修改代码
[此贴子已经被作者于2017/1/14 14:39:35编辑过]

--  作者:有点蓝
--  发布时间:2017/1/14 15:24:00
--  
代码没有问题,上例子看看
--  作者:铜豆
--  发布时间:2017/1/14 22:12:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table
,老师同时帮我看看字符串提取和数字提取问题
[此贴子已经被作者于2017/1/14 22:29:37编辑过]

--  作者:铜豆
--  发布时间:2017/1/14 22:24:00
--  
判断出错,同时老师帮我看看字符串提取和数字提取
--  作者:有点色
--  发布时间:2017/1/15 11:40:00
--  
Select Case e.DataCol.Name
    Case "访客来源"
        Dim Arys1 As List(Of String())
        Arys1 = DataTables("信息库").GetValues("搜索工具|工具", "搜索工具 is not null")
        Dim str As String = e.DataRow("访客来源")
        Dim flag As Boolean = True
        For Each Ary As String() In Arys1
            If str.Contains(Ary(0)) Then
                e.DataRow("搜素工具") = Ary(1)
                flag = False
            End If
        Next
        If flag Then e.DataRow("搜素工具") ="电脑"
End Select

--  作者:铜豆
--  发布时间:2017/1/15 19:31:00
--  
Select Case e.DataCol.Name
    Case "访客来源"
        Dim Arys1 As List(Of String())
        Arys1 = DataTables("信息库").GetValues("搜索工具|工具", "搜索工具 is not null")
        Dim str As String = e.DataRow("访客来源")
        Dim flag As Boolean = True
        For Each Ary As String() In Arys1
            If str.Contains(Ary(0)) Then
                e.DataRow("搜素工具") = Ary(1)
老师此处怎么不能用else
                flag = False
            End If
        Next
        If flag Then e.DataRow("搜素工具") ="电脑"
End Select
老师关于数字和字符怎么分别提取

--  作者:有点色
--  发布时间:2017/1/16 3:37:00
--  
你要比较的是所有的arys内容,只有全部比较完成,才能得到结果。
--  作者:铜豆
--  发布时间:2017/1/16 9:32:00
--  
老师辛苦了,这么晚都没休息,老师有没有关于数字和字符串混合在一起,但要从中字符串和数字分别提取代码怎么写,上传实例已有样式,谢谢老师
--  作者:有点色
--  发布时间:2017/1/16 9:54:00
--  

 参考

 

Dim str As String = "啊啊啊123哦哦哦456"
Dim mc = System.Text.RegularExpressions.Regex.Matches(str, "[^0-9]+")
For i As Integer = 0 To mc.count-1
    output.show(mc(i).value)
Next

 

---------

 

Dim str As String = "啊啊啊123哦哦哦456"
Dim mc = System.Text.RegularExpressions.Regex.Matches(str, "[0-9]+")
For i As Integer = 0 To mc.count-1
    output.show(mc(i).value)
Next


--  作者:铜豆
--  发布时间:2017/1/16 10:03:00
--  
老师这是正则吗?帮助里有相关内容吗?