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