InStr 函式 (Visual Basic)
更新:2007 年 11 月
傳回用於指定另一個字串內某一字串的第一個項目起始位置的整數。
Public Shared Function InStr(_ ByVal String1 As String, _ ByVal String2 As String, _ Optional ByVal Compare As CompareMethod _ ) As Integer ' -or- Public Shared Function InStr(_ ByVal Start As Integer, _ ByVal String1 As String, _ ByVal String2 As String, _ Optional ByVal Compare As Microsoft.VisualBasic.CompareMethod _ ) As Integer
參數
Start
選擇項。用於設定每筆搜尋開始位置的數值運算式。如果省略此項引數,則會從第一字元位置開始搜尋。起始索引是以 1 起始的。String1
必要項。所搜尋的 String 運算式。String2
必要項。所搜尋的 String 運算式。Compare
選擇項。指定字串比較型別。如果省略 Compare,則 Option Compare 設定會決定比較型別。
設定
Compare 引數設定如下:
常數 |
值 |
描述 |
---|---|---|
Binary |
0 |
執行二進位比對 |
Text |
1 |
執行文字比對 |
傳回值
如果 |
InStr 傳回 |
---|---|
String1 的長度為零或 Nothing |
0 |
String2 的長度為零或 Nothing |
start |
找不到 String2 |
0 |
String2 可在下列項目內找到: String1 |
符合開始的位置 |
Start > String2 |
0 |
例外狀況
例外狀況類型 |
錯誤代碼 |
條件 |
---|---|---|
Start < 1. |
如果將使用非結構化錯誤處理的 Visual Basic 6.0 應用程式升級,請參閱「錯誤代碼」資料行 (您可以將錯誤代碼與 Number 屬性 (Err 物件) 比對)。但是,請盡可能考慮以 Visual Basic 的結構化例外處理概觀 取代這類錯誤控制項。
備註
一般來說,在剖析字串時會使用 InStr 函式。
注意事項: |
---|
在 Visual Basic 舊版中的 InStrB 函式會傳回數個位元組,而不是字元位置。這項功能主要用於轉換雙位元組字元集 (DBCS) 應用程式中的字串。所有的 Visual Basic 2005 字串都是 Unicode,而且不再支援 InStrB。 |
範例
這個範例會使用 InStr 函式,傳回在另一個字串內之某一字串的第一個項目位置。
' String to search in.
Dim SearchString As String = "XXpXXpXXPXXP"
' Search for "P".
Dim SearchChar As String = "P"
Dim TestPos As Integer
' A textual comparison starting at position 4. Returns 6.
TestPos = InStr(4, SearchString, SearchChar, CompareMethod.Text)
' A binary comparison starting at position 1. Returns 9.
TestPos = InStr(1, SearchString, SearchChar, CompareMethod.Binary)
' If Option Compare is not set, or set to Binary, return 9.
' If Option Compare is set to Text, returns 3.
TestPos = InStr(SearchString, SearchChar)
' Returns 0.
TestPos = InStr(1, SearchString, "W")
需求
模組:Strings
組件:Visual Basic Runtime Library (在 Microsoft.VisualBasic.dll 中)