我很确定答案是否定的。我知道我可以写
如果lcase(strFoo)= lcase(request.querystring(“x”))则...
或使用inStr,但我只是想检查一下,是否有一些未记录的设置隐藏在注册表中或某处使得VBScript字符串的内容与脚本语言的其余部分保持一致!
由于 丹
答案 0 :(得分:10)
有一个StrComp
函数,它允许通过传递vbTextCompare
作为第三个参数来对两个字符串进行不区分大小写的比较。主要文档没有那么明显,但在Hey, Scripting Guy文章中对此进行了讨论。
例如:
If StrComp(strFoo, Request.QueryString("x"), vbTextCompare) = 0 Then ...
但是,在实践中,我使用LCase
或UCase
方式而不是StrComp
进行不区分大小写的字符串比较,因为这对我来说更明显。
答案 1 :(得分:5)
没有。根据功能,选项可能在那里(例如InStr)作为可选参数,但是为了直接比较,没有全局选项。
一个鲜为人知的选项可能很方便,如果你有一个字符串列表,你想看一个字符串是否在该列表中:
Dim dicList : Set dicList = CreateObject("Scripting.Dictionary")
Dim strTest
dicList.CompareMode = 0 ' Binary ie case sensitive
dicList.Add "FOO", ""
dicList.Add "BAR", ""
dicList.Add "Wombat", ""
strTest = "foo"
WScript.Echo CStr(dicList.Exists(strTest))
Set dicList = CreateObject("Scripting.Dictionary")
dicList.CompareMode = 1 ' Text ie case insensitive
dicList.Add "FOO", ""
dicList.Add "BAR", ""
dicList.Add "Wombat", ""
strTest = "foo"
WScript.Echo CStr(dicList.Exists(strTest))
答案 2 :(得分:1)
我怀疑是否存在这样的选项,因为如果有类似的东西并且你使用它,你将失去以区分大小写的方式比较字符串的能力。