Instr 函式

傳回一個字串在另一個字串中首次出現的位置。

語法

InStr([start, ]string1, string2[, compare])

引數:

  • Start選擇性。設定每個搜尋開始位置的數值表示式。如果省略,則搜尋會從第一個字元位置開始。如果 start 包含 Null,則會發生錯誤。如果指定比較,則需有開始引數。
  • string1必要。要搜尋的字串表示式。
  • string2必要。要搜尋的目標字串表示式。
  • Compare選擇性。指出評估子字串時要使用之比較類型的數值。如需相關值,請參閱「設定值」區段。如果省略,則會執行二進位比較。
  • 設定值:Compare 引數可具有下列值。

    表格 11-15 比較常數與描述

    常數 描述
    vbBinaryCompare 0 執行二進位比較
    vbTextCompare 1 執行文字比較

傳回值

InStr 函式會傳回下列值:

表格 11-16 Instr 函式傳回值

如果 Inst 會傳回
string1 的長度為零 0
string2 的長度為零 Start
找不到 string2 0
在 string1 中找到 string2 找到比對項目的位置。
start > Len(string2) 0

備註

下列範例使用 InStr 來搜尋字串:

範例 1

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"   ' String to search in.  
SearchChar = "P"   ' Search for "P".
MyPos = Instr(SearchString, SearchChar)   ' Comparison is binary by default (last argument is omitted). 
' Output: 9

範例 2

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"   ' String to search in.
SearchChar = "P"   ' Search for "P".
MyPos = Instr(1, SearchString, SearchChar)   
' Comparison is binary by default (last argument is omitted)
' Default Comparison starting at the first character
' Output: 9    

範例 3

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"   ' String to search in.
SearchChar = "P"   ' Search for "P".
MyPos = Instr(4, SearchString, SearchChar, 1)   ' A textual comparison starting at position 4.
'Output: 6
MyPos = Instr(1, SearchString, SearchChar, 0)   ' A binary comparison starting at position 1. 
'Output: 9

範例 4

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"   ' String to search in.
SearchChar = "P"   ' Search for "P".
MyPos = Instr(1, SearchString, "W")   ' A binary comparison starting at position 1.
'Output: 0 ("W" is not found).