我很確定這個答案是否定的。我知道我可以寫您可以關閉VBScript字符串中的區分大小寫嗎?
如果LCASE(strFoo)= LCASE(的Request.QueryString( 「X」))然後......
或使用INSTR,但我只是想檢查有並不是埋沒在註冊表中的某些未記錄的設置,或者是使VBScript字符串的內容與其他腳本語言一致的地方!
感謝 丹
我很確定這個答案是否定的。我知道我可以寫您可以關閉VBScript字符串中的區分大小寫嗎?
如果LCASE(strFoo)= LCASE(的Request.QueryString( 「X」))然後......
或使用INSTR,但我只是想檢查有並不是埋沒在註冊表中的某些未記錄的設置,或者是使VBScript字符串的內容與其他腳本語言一致的地方!
感謝 丹
我懷疑,因爲如果有這樣的事情這種選擇的存在,你使用它,你將失去在大小寫敏感的方式比較字符串的能力。
否。根據函數的不同,可能有選項(例如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))
有一個StrComp
功能,它允許執行情況通過傳遞vbTextCompare
作爲第三個參數的兩個字符串的敏感性比較。主要文件沒有那麼明顯,但在這篇Hey, Scripting Guy文章中討論過。
例如:
If StrComp(strFoo, Request.QueryString("x"), vbTextCompare) = 0 Then ...
然而,在實踐中,我使用LCase
或UCase
方式比StrComp
多爲不區分大小寫字符串比較,因爲它更明顯,我。
傳入vbTextCompare(或保留第三個參數)爲二進制(區分大小寫)compare;傳入`1`進行文本(不區分大小寫)比較 – JohnB 2010-09-10 05:09:07