訪問して頂きありがとうございます。まさふくろーです。
この記事では、指定した文字が文字列内の何番目にあるかを調べる方法をご紹介します。
指定した文字が文字列内の何番目にあるかを調べる
使用する関数
InStr関数
InStr( [start] , string1 , string2 , [compare] )
説明 |
ある文字列(string1)の中から検索文字列(string2)が最初に見つかった位置を返します。 |
検索文字列(string2)が見つからない場合は「0」を返します。 |
指定項目 | 必須 | 説明 |
start | ー |
検索の開始位置を数値で設定。 省略した場合、先頭の文字から検索されます。 |
compare を指定した場合、start は必須となります。 |
||
string1 | 〇 | もとになる文字列を指定します。 |
string2 | 〇 | 検索文字列を指定します。 |
compare | ー | 以下、文字列比較の種類を指定します。 |
引数「compare」に指定する定数と値
定数 | 値 | 内容 |
vbBinaryCompare |
0 |
バイナリ-モードで比較します。 |
文字の半角・全角を区別します。 | ||
vbTextCompare |
1 |
テキストモードで比較します。 |
文字の半角・全角を区別しません。 |
InStrRev関数
InStrRev( stringcheck , stringmatch , [start] , [compare] )
説明 |
1番目の引数(stringcheck)に指定した文字列内に、2番目の引数(stringmatch)に指定した文字列を、末尾から検索して、最初に見つかった文字の位置の先頭からの位置を返します。 |
検索文字列(stringmatch)が見つからない場合は「0」を返します。 |
指定項目 | 必須 | 説明 |
stringcheck | 〇 | もとになる文字列を指定します。 |
stringmatch | 〇 | 検索文字列を指定します。 |
start | ー | 検索の開始位置を数値で設定。 省略した場合、最後の文字から検索されます。 |
compare | ー | 以下、文字列比較の種類を指定します。 |
引数「compare」に指定する定数と値
定数 | 値 | 内容 |
vbBinaryCompare |
0 |
バイナリ-モードで比較します。 |
文字の半角・全角を区別します。 | ||
vbTextCompare |
1 |
テキストモードで比較します。 |
文字の半角・全角を区別しません。 |
サンプルプログラム
1 2 3 4 5 6 |
Private Sub Sample() MsgBox InStr("C:\Access\Sample\サンプル.accdb", "\") MsgBox InStrRev("C:\Access\Sample\サンプル.accdb", "\") End Sub |
1 | Subプロシージャ「Sample」を作成。 |
3 | 文字列「C:\Access\Sample\サンプル.accdb」から文字列「\」を検索し、先頭からの位置をメッセージボックスに表示します。 |
4 | 文字列「C:\Access\Sample\サンプル.accdb」から文字列「\」を末尾から検索し、先頭からの位置をメッセージボックスに表示します。 |
実行結果
InStr関数
InStrRev関数
関連記事
最後まで読んでいただき、ありがとうございました!
本のまとめ関連記事はこちら