Replace メソッド

正規表現による検索で見つかったテキストを置換します。

object.Replace(string1, string2) 

引数

  • object
    必ず指定します。RegExp オブジェクトの名前を指定します。
  • string1
    必ず指定します。String1 には、検索および置換の対象となるテキスト文字列を指定します。
  • string2
    必ず指定します。String2 には、置換するテキスト文字列を指定します。

解説

置換されるテキスト文字列の実際のパターンは、RegExp オブジェクトの Pattern プロパティを使って設定されます。

Replace メソッドは、string1 のコピーと、string2 で置換された RegExp.Pattern のテキストを返します。一致する文字列が見つからない場合、string1 のコピーが変更されずに返されます。

次のコードは、Replace メソッドの使用例です。

Function ReplaceTest(patrn, replStr)
Dim regEx, str1               ' 変数を作成します。
  str1 = "The quick brown fox jumped over the lazy dog."
Set regEx = New RegExp            ' 正規表現を作成します。
regEx.Pattern = patrn            ' パターンを設定します。
regEx.IgnoreCase = True           ' 大文字と小文字を区別しないように設定します。
ReplaceTest = regEx.Replace(str1, replStr)   ' 置換します。
End Function

MsgBox(ReplaceTest("fox", "cat"))      ' 'fox' を 'cat' で置換します。

Replace メソッドを使って、パターンに一致する文字列どうしを置換することもできます。上の例に示された関数を次のように呼び出すと、元の文字列に含まれる単語の各ペアが交換されます。

MsgBox(ReplaceText("(\S+)(\s+)(\S+)", "$3$2$1"))   ' 単語のペアを交換します。

必要条件

バージョン 5

参照

Execute メソッド | Test メソッド

対象: RegExp オブジェクト