5

我试图寻找值 2,但是显示“不应该发生”而不是“好的”。

If Not InStr("1, 2, 3", "2") Then
    MsgBox ("shouldn't happen")
Else
    MsgBox ("ok")
End If

我们知道该值在字符串中。但由于某种原因,“不”不起作用。有谁知道为什么?

4

1 回答 1

7

那是因为

?InStr("1, 2, 3", "2")
 4 

?not 4
-5 // bitwise not of 4

这是一个真实值 ( cbool(-5) = true),因此您需要:

if InStr("1, 2, 3", "2") = 0 then
  // not found
else 
  // found
于 2013-07-11T13:54:32.993 回答