检查文本框是否包含域扩展名而不重复

时间:2018-03-30 21:18:41

标签: .net vb.net contains

我正在尝试检查我的文本框是否包含.com .net .org等,而不是重复。

当前代码:

If textbox1.Text.Contains(".org") Or textbox1.Text.Contains(".com") Or textbox1.Text.Conatins(".net") Then
    browser.Load(textbox1.Text)
End If

有更有效的方法吗?例如:

If textbox1.Text.Contains(".org", ".com", ".net", ".us", ".edu") Then
    browser.Load(textbox1.Text)
End If

4 个答案:

答案 0 :(得分:2)

你可以这样写支票

Dim ext As String() = {".org", ".com", ".net", ".us", ".edu"} 
Dim content = textbox1.Text.ToLower()
If ext.Any(Function(x) content.Contains(x)) Then
    Console.WriteLine("Found")
End If

首先声明一个包含要检查的扩展名的数组,然后使用IEnumerable扩展程序Any逐个检查文本框内容的扩展名。

答案 1 :(得分:0)

您可以做的是逐个添加List(Of String)扩展名,或将其添加到文本文件中并阅读。

Dim extList As New List(Of String)

Private sub test()
extlist.Add(File.ReadAllLines(filepathhere))
For each item in extList
  If mytextbox.Text.Contains(item) Then
  'your code here
  End if
Next
End sub

答案 2 :(得分:0)

这可行(未经测试)

Select Case Right(textbox1.text, 4)
    Case ".org", ".com", ".net"
        browser.load(textbox1.text)
End Select

答案 3 :(得分:0)

您可以使用正则表达式:

Imports System.Text.RegularExpressions

Dim pattern As string = "\.(org|com|net|us|edu)"
If Regex.IsMatch(textbox1.text, pattern) Then
  browser.Load(textbox1.Text)
End If