1
서식있는 텍스트 상자의 문자열에서 색인 검색을 실행하고 있는데,이 텍스트 상자에서 다른 색이어야하는 키워드 목록이 있습니다. vb2005에서 문자열 검색을 실행하고 텍스트가 내 검색과 일치하는 인덱스 목록을 얻는 방법은 무엇입니까?vb2005의 텍스트 검색에서 색인 목록 가져 오기
서식있는 텍스트 상자의 문자열에서 색인 검색을 실행하고 있는데,이 텍스트 상자에서 다른 색이어야하는 키워드 목록이 있습니다. vb2005에서 문자열 검색을 실행하고 텍스트가 내 검색과 일치하는 인덱스 목록을 얻는 방법은 무엇입니까?vb2005의 텍스트 검색에서 색인 목록 가져 오기
다음은 매우 간단한 해결책입니다. "우리"라는 단어는 "4"로 나옵니다. 그것이 바람직하지 않은 경우 겹치는 일치를 제거하기 위해 무언가를 쓸 수 있습니다.
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim SearchText As String = "One Two Three Four"
Dim Keywords As String() = {"One", "Four", "our"}
Dim WordMatches As New Generic.List(Of WordMatch)
For Each KeyWord As String In Keywords
Dim i As Int32 = 0
While i <> -1
i = SearchText.IndexOf(KeyWord, i, System.StringComparison.OrdinalIgnoreCase)
If i <> -1 Then
Dim MyMatch As New WordMatch
MyMatch.CharIndex = i
MyMatch.Word = KeyWord
WordMatches.Add(MyMatch)
i += KeyWord.Length
End If
End While
Next
End Sub
Private Structure WordMatch
Public CharIndex As Int32
Public Word As String
End Structure
내가 한 것과 매우 유사하여 전체 문자열을 반복하는 데 매우 오랜 시간이 걸렸습니다. – Jim