別の文字列内で、ある文字列が最初に出現する位置を戻します。
構文
InStr([start, ]string1, string2[, 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).