目前我正在使用 InStr 在字符串中查找字符串,我是 VB.NET 的新手,想知道是否可以使用 InStr 搜索字符串中数组的每个元素,或者类似这样的函数:
InStr(string, array)
谢谢。
目前我正在使用 InStr 在字符串中查找字符串,我是 VB.NET 的新手,想知道是否可以使用 InStr 搜索字符串中数组的每个元素,或者类似这样的函数:
InStr(string, array)
谢谢。
你需要循环:
Dim bFound As Boolean = False
For Each elem As String In array
If myString.Contains(elem) Then
bFound = True
Exit For
End If
Next
您可以将其转换为一个函数以轻松地多次调用它:
Public Function MyInStr(myString As String, array() As String) As Boolean
For Each elem As String In array
If myString.Contains(elem) Then return True
Next
return false
End Function
然后:
MyInStr("my string text", New String() {"my", "blah", "bleh"})
这是LINQ解决方案:
Dim a() = {"123", "321", "132"}
Dim v = a.Select(Function(x) InStr(x, "3")).ToArray
MessageBox.Show(String.Join(",", v)) '3,1,2
将 SysDragon 的答案转换为经典的 asp:
你需要循环:
Dim bFound
bFound = False
For Each elem In myArray
If InStr(myString, elem)>=0 Then
bFound = True
Exit For
End If
Next
您可以将其转换为一个函数以轻松地多次调用它:
Function MyInStr(myString, myArray)
Dim bFound
bFound = false
For Each elem In myArray
If InStr(myString, elem)>=0 Then
bFound = True
Exit For
End If
Next
MyInStr = bFound
End Function
然后:
MyInStr("my string text", Array("my", "blah", "bleh"))
如果您正在寻找在字符串数组中的任何项目中搜索字符串,那么您可以使用array.find(<T>)
method. 在此处查看更多信息:http: //msdn.microsoft.com/en-IN/library/d9hy2xwa%28v=vs.90%29.aspx
Instr
返回一个整数,指定一个字符串在另一个字符串中第一次出现的起始位置。
参考这个
要在字符串中查找字符串,您可以使用其他方法
这是一个同时突出显示您搜索的所有文本的示例,但如果这不是您想要的,您必须自己解决它。
Sub findTextAndHighlight(ByVal searchtext As String, ByVal rtb As RichTextBox)
Dim textEnd As Integer = rtb.TextLength
Dim index As Integer = 0
Dim fnt As Font = New Font(rtb.Font, FontStyle.Bold)
Dim lastIndex As Integer = rtb.Text.LastIndexOf(searchtext)
While (index < lastIndex)
rtb.Find(searchtext, index, textEnd, RichTextBoxFinds.WholeWord)
rtb.SelectionFont = fnt
rtb.SelectionLength = searchtext.Length
rtb.SelectionColor = Color.Red
rtb.SelectionBackColor = Color.Cyan
index = rtb.Text.IndexOf(searchtext, index) + 1
End While
End Sub
此方法在 RichTextBox2 中搜索文本“男孩”,将文本颜色更改为红色,将背景颜色更改为青色
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
findTextAndHighlight("boy", RichTextBox2)
End Sub