如何在一行命令中添加多个单词

时间:2018-02-24 04:56:47

标签: vb.net visual-studio

我正在尝试运行一个函数。当您按下按钮时,如果文本框中包含以下单词,则会显示“请不要发誓”。问题是我正在尝试使用“或”函数将多个单词添加到一行命令。 由于某种原因,它不起作用。这是我的代码:

If InStr(1, Command.Text, "shit" Or "ass", vbTextCompare) Then
            MsgBox("Please don't swear.")

任何帮助表示赞赏! :)

1 个答案:

答案 0 :(得分:2)

我们不再是VB6了Toto。我们不要使用InStrMsgBox

Dim prohibitedWords = {"bad", "word"}

If prohibitedWords.Any(Function(s) TextBox1.Text.IndexOf(s, StringComparison.CurrentCultureIgnoreCase) <> -1) Then
    '...
End If

我使用IndexOf而不是Contains来进行不区分大小写的比较。

与此相关的一个问题是,它将匹配其他合法单词的部分内容。为避免这种情况,您应该使用Regex并仅匹配整个单词。我会留给你搜索如何做到这一点。