文字列の中で、部分文字列か文字が、初めて出現する場所を、見つけます。
構文:
用法:
first = Instr
( [ start, ] str, [ Any ] substring )
パラメタ:
str
捜されるべき文字列。
substring
見つける部分文字列。
start
検索を始める str の中の位置。
最初の文字は、位置1で開始します。
戻り値:
str の中で、部分文字列(substring) が初めて出現した位置。
記述:
文字列の中で、部分文字列や文字が、最初に現れる位置を検索します。
Instr の最初の形式 (start パラメータ無し)では、検索は、先頭文字から始めます。
ゼロ(0)は、以下の場合に返されます。substring が見つからないか、str か substring が空白文字列か、start < 1 の場合。
Any キーワードを指定すると、Instr は、部分文字列(substring)の中の、どれかの文字が、最初に出現した位置を返します。
例:
'4を返すでしょう'
Print InStr
("abcdefg", "de")
'0を返すでしょう'
Print InStr
("abcdefg", "h")
'文字「f」「b」「c」のどれかを捜し求めます。そして、「b」が最初に遭遇して、2を返すでしょう。
Print InStr
("abcdefg", Any "fbc")
Sleep
Dim test As String
Dim idx As Integer
test = "abababab"
idx = InStr
(test, "b")
Do While idx > 0 '見つからなければ、繰り返しを飛ばします
Print """b"" は " & idx & " 桁目 "
idx = InStr
(idx + 1, Test, "b")
Loop
Sleep
'ユニコードの例:
dim text as wstring*20
text = "Привет, мир!"
print instr(text,"ет") ' displays 5
プラットホーム差:
-
DOS 版は、Instr のワイド文字文字列バージョンをサポートしません。
QBからの違い:
-
QB は、search が、ゼロ長文字列であれば、start を返します。
-
QB は、ユニコードをサポートしません。
参照: