instr() InStr 函數 傳回在某字串中一字串的最先出現位置,此位置為 Variant (Long)。 語法 InStr([start, ]string1, string2[, compare]) InStr 函數的語法具有以下的指名引數: 單元 | 說明 |
---|
start | 選擇性引數。為數值運算式,設定每次搜尋的起點。如果省略,將從第一字元開始。如果 start 所含為 Null,將發生錯誤。如果有加 compare 參數,則一定要有 start 引數。 | String1 | 必要引數。欲搜尋的字串運算式。 | String2 | 必要引數。欲搜尋的字串運算式。 | Compare | 選擇性引數。設定字串比對種類。如果 compare 是 Null,將發生錯誤。如果省略 compare,Option
Compare 的設定將決定比對的類型。指定一正確的 LCID (LocaleID) 以便在比對中使用此特定地區的規則。 |
設置值 compare 引數設定如下: 常數 | 值 | 描述 |
---|
VbUseCompareOption | -1 | 使用Option Compare陳述句設定執行一個比較。 | VbBinaryCompare | 0 | 執行一個二進位比較。 | VbTextCompare | 1 | 執行一個按照文字的比較。 | VbDatabaseCompare | 2 | 只適用於Microsoft Access。執行一個資料庫中資訊的比較。 |
傳回值 如為 | InStr傳回 |
---|
string1為零長度 | 0 | string1為Null | Null | string2 為零長度 | start | string2 為Null | Null | string2 找不到 | 0 | 在 string1中找到string2
| 找到的位置 | start > string2 | 0 |
請注意 InStrB 函數是使用在位元組資料字串上。所以 InStrB 傳回的是位元組位置,而非字元位置。 InStr 函數範例本範例使用 InStr 函數來尋找某字串在另一個字串中首次出現的位置。 Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' 被搜尋的字串。
SearchChar = "P" ' 要尋找字串 "P" 。
' 從第四個字元開始,以 [文字比對] 的方式找起。傳回值為 6(小寫 p)。 ' 小寫 p 和大寫 P 在 [ 文字比對] 下是一樣的。
MyPos = Instr(4, SearchString, SearchChar, 1)
' 從第一個字元開使,以 [ 二進位比對] 的方式找起。傳回值為 9( 大寫 P )。
' 小寫 p 和大寫 P 在 [ 二進位比對] 下是不一樣的。
MyPos = Instr(1, SearchString, SearchChar, 0)
' 預設的比對方式為 [ 二進位比對]( 最後一個引數可省略) 。
MyPos = Instr(SearchString, SearchChar)
' 傳回 9 。
MyPos = Instr(1, SearchString, "W")
' 傳回 0 。
|