VBScript: 文字列を置換する Replace()
VBScriptで文字列の一部を置換する場合は、 Replace()関数を使用します。
Replace()関数の書式は次の通りです。
Replace(文字列, 検索キーワード, 置換後文字列 [, 開始位置 [, 置換回数 [, 比較モード]]])
「文字列」から「検索キーワード」を検索し、 「置換後文字列」に置換した結果を返します。
「開始位置」、「置換回数」、「比較モード」は省略可能です。
「開始位置」を省略すると先頭から検索します。
「置換回数」には-1以上の値を指定し、省略するとすべての候補が置換されます
(-1を指定した場合と同じ)。
「比較モード」を省略すると下表のバイナリーモードでの置換となります。
定数 | 値 | 概要 |
---|---|---|
vbBinaryCompare | 0 | 大文字小文字を区別する(バイナリーモード) |
vbTextCompare | 1 | 大文字小文字を区別しない(テキストモード) |
次のサンプルコードは、文字列"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