2012年5月13日日曜日

[VBScript] InStr関数


■構文
InStr([start, ]string1, string2[, compare])

■説明
文字列の先頭から検索し最初に一致した文字位置(先頭基準)を返す
第一引数:(省略可能)検索の開始位置を示す値を指定。省略時先頭の文字から検索します。
第二引数:検索対象の文字列を指定。
第三引数:検索対象文字列内から探し出す文字列を指定。
第四引数:(省略可能)文字列比較の比較モードを指定。省略時、Option Compareステートメントの設定にしたがいます。
定数説明
vbUseCompareOption-1Option Compare ステートメントの設定を使用して比較を行います。
vbBinaryCompare0バイナリ モードの比較を行います。
vbTextCompare1テキスト モードの比較を行います。


■サンプルコード
Option Explicit

'一番最初の文字にヒットすると1を返します。
Wscript.Echo InStr("Visual Basic", "V") '1

'一番最後の文字にヒットする場合 Len(文字列)と同じ値になります
Wscript.Echo InStr("Visual Basic", "c") '12
Wscript.Echo Len("Visual Basic")        '12
    
'ヒットしない場合は0を返す
Wscript.Echo InStr("Visual Basic", "X")    '0

'検索開始位置を指定
Wscript.Echo InStr("Visual Basic", "i") '2
Wscript.Echo InStr(3, "Visual Basic", "i") '11
  
'文字列比較、デフォルト(バイナリモード)、テキストモードの比較
'大文字/小文字
Wscript.Echo InStr(1, "Aa", "a")                '2
Wscript.Echo InStr(1, "Aa", "a", vbTextCompare) '1

'全角/半角
Wscript.Echo InStr(1, "AA", "A")                '2
Wscript.Echo InStr(1, "AA", "A", vbTextCompare) '1

'ひらがな/カタカナ
Wscript.Echo InStr(1, "あア", "ア")                '2
Wscript.Echo InStr(1, "あア", "ア", vbTextCompare) '1

0 件のコメント: