0

文字列配列に対してすべての単語をチェックする必要がある検索ボックスがあります

これまでのところ、私は次のコードを持っています

        For i As Integer = 0 To wordList.Length - 1

            If wordList(i).Contains(TextBox1.Text) Then
                Dim item As String() = New String(0) {}
                item(0) = wordList(i)

                items.Add(item)
            End If

        Next

これは、入力された順序でテキストボックスに含まれるものが単語に含まれているが、個々の単語が任意の順序で含まれていないかどうかを確認します。

すべての単語を任意の順序でチェックwordListし、すべての単語を含む単語のみを表示する方法はありますか?

前もって感謝します

4

2 に答える 2

2

LINQ を使用します。

Dim words As String() = TextBox1.Text.Split(' 'c);
If words.All(AddressOf someString.Contains) Then

途中でテキストを一致させたくない場合は、正規表現を使用する必要があります。

If words.All(Function(W) Regex.IsMatch(someString, "\b" + Regex.Escape(w) + "\b"))
于 2012-07-30T14:48:44.550 に答える
1

このコードで試してください:

result = from  item in wordList 
            where item.Contains(TextBox1.Text)
            select item;
于 2012-07-30T14:50:21.033 に答える