Regex.Replace Method (String, MatchEvaluator)

Within a specified input string, replaces all strings that match a specified regular expression with a string returned by a MatchEvaluator delegate.

Namespace: System.Text.RegularExpressions
Assembly: System (in system.dll)

'Declaration
Public Function Replace ( _
	input As String, _
	evaluator As MatchEvaluator _
) As String
'Usage
Dim instance As Regex
Dim input As String
Dim evaluator As MatchEvaluator
Dim returnValue As String

returnValue = instance.Replace(input, evaluator)
public String Replace (
	String input, 
	MatchEvaluator evaluator
)
public function Replace (
	input : String, 
	evaluator : MatchEvaluator
) : String
Not applicable.

Parameters

input

The string to search for a match.

evaluator

A custom method that examines each match and returns either the original matched string or a replacement string.

Return Value

A new string that is identical to the input string, except that a replacement string takes the place of each matched string.

Exception typeCondition

ArgumentNullException

input is a null reference (Nothing in Visual Basic).

-or-

evaluator is a null reference (Nothing in Visual Basic).

The regular expression is the pattern defined by the constructor for the current Regex object. The evaluator parameter is the delegate for a custom method that you define and that examines each match. Your custom method returns a string that replaces the matched input.

The following code example displays an original string, matches each word in the original string, converts the first character of each match to uppercase, then displays the converted string.

Imports System
Imports System.Text.RegularExpressions

Module RegExSample
    Function CapText(ByVal m As Match) As String
        ' Get the matched string.
        Dim x As String = m.ToString()
        ' If the first char is lower case...
        If Char.IsLower(x.Chars(0)) Then
            ' Capitalize it.
            Return Char.ToUpper(x.Chars(0)) & x.Substring(1, x.Length - 1)
        End If
        Return x
    End Function

    Sub Main()
        Dim text As String = "four score and seven years ago"

        System.Console.WriteLine("text=[" & text & "]")

        Dim rx As New Regex("\w+")

        Dim result As String = rx.Replace(text, AddressOf RegExSample.CapText)

        System.Console.WriteLine("result=[" & result & "]")
    End Sub
End Module

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

XNA Framework

Supported in: 1.0
Show: