Regex.Replace Method (String, String, String)

Within a specified input string, replaces all strings that match a specified regular expression with a specified replacement string.

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

public static string Replace (
	string input,
	string pattern,
	string replacement
public static String Replace (
	String input, 
	String pattern, 
	String replacement
public static function Replace (
	input : String, 
	pattern : String, 
	replacement : String
) : String
Not applicable.



The string to search for a match.


The regular expression pattern to match.


The 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


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


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


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

The static Replace methods are equivalent to constructing a Regex object with the specified regular expression pattern and calling the instance method Replace.

The pattern parameter consists of various regular expression language elements that symbolically describe the string to match. For more information about regular expressions, see .NET Framework Regular Expressions and Regular Expression Language Elements. The search for matches starts at the beginning of the input parameter string.

Substitutions are allowed only within a replacement pattern. For similar functionality within a regular expression, use a backreference such as \1.

Character escapes and substitutions are the only special constructs recognized in a replacement pattern. All other syntactic constructs are allowed in regular expressions only and not recognized in replacement patterns. For example, the replacement pattern a*${test}b inserts the string "a*" followed by the substring matched by the "test" capturing group, if any, followed by the string "b". The * character is not recognized as a metacharacter within a replacement pattern. Similarly, $-patterns are not recognized within a regular expression matching pattern. Within a regular expression, $ denotes the end of the string. Other examples are: $123 substitutes the last substring matched by group number 123 (decimal), and ${name} substitutes the last substring matched by a (?<name>) group.

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