我有这个功能: (服务器是文本框字段)& (域是文本框字段)
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
答案 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