InStr関数を利用すると、ある文字列の中で別の文字列が最初に現れる位置を取得することができます。
例えば、次のような処理を行った場合、pos
には4という数字が入ります。(先頭の文字が0番目ではなく1番目となることに注意してください。)
Dim str: str = "Apple"
Dim target: target = "l"
Dim pos: pos = InStr(str, target)
最後に現れる位置を取得するための関数については提供されていませんが、検索する文字が1文字の場合は、裏返した文字列に対してInStr関数を利用することで実現できます。
次の例では、lastPos
には、後ろ側のi
の位置である8が代入されます。
Dim str: str = "University"
Dim target: target = "i"
Dim lastPos: lastPos = Len(str) - InStr(StrReverse(str), target) + 1
ちなみにVB.NETではLastIndexOf
というメソッドが用意されています。
122