检查richtextbox是否包含vb中字符串数组的字符串

时间:2015-02-13 07:08:09

标签: arrays vb.net string

Dim keywords() as string = {"word1", "word2", "word3"}
If Richtextbox1.text.contains(???,StringComparison.CurrentCultureIgnoreCase) Then
End if

我不知道要写而不是“???”。

2 个答案:

答案 0 :(得分:1)

如果你想检查RichTextBox是否包含任何单词作为整个单词(例如“This is word1”匹配“word1”但是“This is tword12”不会),你需要决定你想要的将RichTextBox的内容划分为单词。最简单的方法是使用String Split并拆分空格,但如果有标点符号,则可能无法执行所需操作。

以下代码使用该简单拆分并检查关键字数组中是否出现任何单词。 RichTextBox的内容将转换为小写,以匹配关键字的大小写。

Dim keywords() as string = {"word1", "word2", "word3"}
Dim words() As String = RichTextBox1.Text.ToLower.Split({" "c}, StringSplitOptions.RemoveEmptyEntries)
If words.Count(Function(w) keywords.Contains(w)) > 0 Then
    'at least one word was found
End If

如果您不关心关键字是否显示为整个单词,可以像这样检查:

Dim keywords() as string = {"word1", "word2", "word3"}
If keywords.Count(Function(w) RichTextBox1.Text.ToLower.Contains(w)) > 0 Then
    'at least one string from keywords was found
End If

答案 1 :(得分:0)

如果您想使用包含,则必须循环收藏中的所有关键字并逐一检查。

Dim keywords() as string = {"word1", "word2", "word3"}

For Each keyword In keywords
    If Richtextbox1.text.contains(keyword,StringComparison.CurrentCultureIgnoreCase) Then
    End if
End For