Asp.Net。包含任何顺序的所有单词

时间:2012-07-30 14:46:05

标签: asp.net contains

我有一个搜索框,我需要根据字符串数组检查其中的所有单词

到目前为止,我有以下代码

        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中包含所有单词的单词?

提前致谢

2 个答案:

答案 0 :(得分: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"))

答案 1 :(得分:1)

尝试使用此代码:

result = from  item in wordList 
            where item.Contains(TextBox1.Text)
            select item;