String Split VB.Net

时间:2015-09-16 19:05:01

标签: asp.net vb.net split

我有这个功能: (服务器是文本框字段)& (域是文本框字段)

Function foo As Boolean

    System.Web.HttpContext.Current.Session("site") = "server1.example.com"

If(server.Text.ToLower.Contains((System.Web.HttpContext.Current.Session("site").ToString.Substring("."))
 OR
domain.Text.ToLower.Contains((System.Web.HttpContext.Current.Session("site").ToString.Substring(".")))

        Return True
    Else
        Return False
    End If 
End Function

我知道这不起作用,因为我的字符串拆分返回一个字符串数组,不能与字符串“server.text”进行比较。但是我怎么能重新编写这个比较,以便我可以判断文本框字符串是否包含会话变量?请记住,我不想对字符串值数组使用任何类型的迭代。

预期产出:

  

server.Text = server1
  domain.Text = domain2
  System.Web.HttpContext.Current.Session(“site”)=“server1.example.com”

     

foo = True // server1 = server1

2 个答案:

答案 0 :(得分:0)

找到了关于如何选择string.split ...

的选择部分的答案

ToString.Split(“。”)(0)'在数组位置0中取字符串

ToString.Split(“。”)(1)'在数组位置1中取字符串

ToString.Split(“。”)(2)'在数组位置2中取字符串

所以

server.Text.ToLower.Contains((System.Web.HttpContext.Current.Session("site").ToString.Substring("."c)(0)) 
如果第一个数组元素包含在服务器字符串

中,则

返回true

答案 1 :(得分:0)

SubString在这里没有帮到你。

如果要检查每个URI部分是否包含在相应文本框中的内容中,可以这样做:

Function foo() As Boolean
    'System.Web.HttpContext.Current.Session("site") = "server1.domain.com"
    Dim parts() As String = Split(System.Web.HttpContext.Current.Session("site").ToLower, ".")
    If server.Text.ToLower.Contains(parts(0)) OrElse domain.Text.ToLower.Contains(parts(1)) Then
        Return True
    Else
        Return False
    End If
End Function

如果您希望部件与任何相应的文本框完全匹配,那么您检查是否相等而不是Contains

Function foo() As Boolean
    'System.Web.HttpContext.Current.Session("site") = "server1.domain.com"
    Dim parts() As String = Split(System.Web.HttpContext.Current.Session("site").ToLower, ".")
    If server.Text.ToLower = parts(0) OrElse domain.Text.ToLower = parts(1) Then
        Return True
    Else
        Return False
    End If
End Function