やりたいこと
対象の文字列が何文字目にあるかを数値で取得する
以下に文字列型の変数str文字列があるとします。
str文字列 = "あいうえお"
この文字列の中で「う」が何文字目にあるかを取得するには
inStr(str文字列 , "う")
と書くことで可能となります。
メッセージボックスに表示させてみましょう。
結果↓
このように対象の「う」という文字列が3文字目にあることを取得することができます。
inStr(str文字列 , "えお")と表示するとどうなるでしょうか?
結果↓
このように初めに見つかった文字の位置を返します。
応用
str住所とstr区に以下の文字列が代入されているとします。
str住所 = "東京都品川区西五反田"
str区 = "品川区"
この2つの情報から「西五反田」を抜き出すためにはどうするでしょうか?
↓
↓
方法はいろいろあるかもしれませんが、このように書くことで抜き出すことが可能です。
Mid(str住所, inStr(str住所 , str区) + Len(str区))
Midは文字列の開始位置から終了位置までを抜き出すことができます。
Mid(文字列 , 開始位置, 終了位置)
終了位置がなければ、開始位置から最後までを抜き出します。
今回は品川区が現れる「4文字目」とLenを使用して ”品川区”の文字の長さ「3」を足した「7」を開始位置としています。
Midの使い方についてはこちらも参考にしてみてください。
メッセージボックスで表示してみましょう。
結果↓
無事に抜き出すことができました!
ひとこと
inStrは使えるようになると意外と便利だと感じます(^-^)
ほとんどの場合、今回応用で行った処理のように、他の構文と組み合わせて使うことになると思いますが、ぜひいろいろ組み合わせて便利なロジックを組み立ててみてください!
文字列操作については他にも紹介しています( ..)φメモメモ