2010-07-25 2 views
1

서식있는 텍스트 상자의 문자열에서 색인 검색을 실행하고 있는데,이 텍스트 상자에서 다른 색이어야하는 키워드 목록이 있습니다. vb2005에서 문자열 검색을 실행하고 텍스트가 내 검색과 일치하는 인덱스 목록을 얻는 방법은 무엇입니까?vb2005의 텍스트 검색에서 색인 목록 가져 오기

답변

0

다음은 매우 간단한 해결책입니다. "우리"라는 단어는 "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 
+0

내가 한 것과 매우 유사하여 전체 문자열을 반복하는 데 매우 오랜 시간이 걸렸습니다. – Jim