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

Check if textbox contains domain extensions without being repetitive

我正在尝试不重复地检查我的文本框是否包含 .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

您可以这样写支票

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 根据文本框的内容逐一检查您的扩展。

您可以做的是将扩展名一个一个地添加到 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

这可行(未测试)

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

您可以使用正则表达式:

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