结合多个IndexOf

时间:2014-10-17 22:38:41

标签: asp.net vb.net

有没有办法将多个indexOf()结合起来,使其更简洁?

Dim UserAgent As String = HttpContext.Current.Request.UserAgent

If Not (UserAgent.IndexOf("Chrome") > -1) OrElse Not (UserAgent.IndexOf("Safari") > -1) Then

    ' do this

End If

2 个答案:

答案 0 :(得分:1)

您可以使用Contains代替IndexOf和一个集合来查找:

Dim browsers = {"Chrome", "Safari"}
if Not browsers.Any(Function(b) UserAgent.Contains(b)) Then

End If

或使用查询语法:

Dim matchingBrowsers = From browser In browsers
                       Where UserAgent.Contains(browser)
If Not matchingBrowsers.Any() Then

End If

答案 1 :(得分:0)

尝试以下正则表达式(Chrome|Safari)
不熟悉VB但它应该类似于if (Regex.Match(@"(Chrome|Safari)") != null)