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")) ' 単語のペアを交換します。
必要条件
参照
対象: RegExp オブジェクト