我正在尝试运行一个函数。当您按下按钮时,如果文本框中包含以下单词,则会显示“请不要发誓”。问题是我正在尝试使用“或”函数将多个单词添加到一行命令。 由于某种原因,它不起作用。这是我的代码:
If InStr(1, Command.Text, "shit" Or "ass", vbTextCompare) Then
MsgBox("Please don't swear.")
任何帮助表示赞赏! :)
答案 0 :(得分:2)
我们不再是VB6了Toto。我们不要使用InStr
或MsgBox
。
Dim prohibitedWords = {"bad", "word"}
If prohibitedWords.Any(Function(s) TextBox1.Text.IndexOf(s, StringComparison.CurrentCultureIgnoreCase) <> -1) Then
'...
End If
我使用IndexOf
而不是Contains
来进行不区分大小写的比较。
与此相关的一个问题是,它将匹配其他合法单词的部分内容。为避免这种情况,您应该使用Regex
并仅匹配整个单词。我会留给你搜索如何做到这一点。