VBScript: 文字列を置換する Replace()

VBScriptで文字列の一部を置換する場合は、 Replace()関数を使用します。

Replace()関数の書式は次の通りです。

Replace(文字列, 検索キーワード, 置換後文字列 [, 開始位置 [, 置換回数 [, 比較モード]]])

「文字列」から「検索キーワード」を検索し、 「置換後文字列」に置換した結果を返します。

「開始位置」、「置換回数」、「比較モード」は省略可能です。
「開始位置」を省略すると先頭から検索します。 「置換回数」には-1以上の値を指定し、省略するとすべての候補が置換されます (-1を指定した場合と同じ)。 「比較モード」を省略すると下表のバイナリーモードでの置換となります。

定数概要
vbBinaryCompare0 大文字小文字を区別する(バイナリーモード)
vbTextCompare1 大文字小文字を区別しない(テキストモード)

次のサンプルコードは、文字列"abc"を"xyz"に変換しています。 開始位置、置換回数、 比較モードを指定した場合の置換結果の違いが確認できます。

str = "abc-def-abc-def"

' すべて置換
WScript.Echo Replace(str, "abc", "xyz")  ' xyz-def-xyz-def

' 開始位置を指定
WScript.Echo Replace(str, "abc", "xyz", 5)  ' def-xyz-def

' 1回のみ置換
WScript.Echo Replace(str, "abc", "xyz", 1, 1) ' xyz-def-abc-def

' vbBinaryCompare
WScript.Echo Replace(str, "ABC", "xyz", 1, -1, 0) ' abc-def-abc-def

' vbTextCompare
WScript.Echo Replace(str, "ABC", "xyz", 1, -1, 1) ' xyz-def-xyz-def
VBScript入門