Export (0) Print
Expand All

StringBuilder.Replace Method (String, String, Int32, Int32)

Replaces, within a substring of this instance, all occurrences of a specified string with another specified string.

Namespace:  System.Text
Assembly:  mscorlib (in mscorlib.dll)

public StringBuilder Replace(
	string oldValue,
	string newValue,
	int startIndex,
	int count
)

Parameters

oldValue
Type: System.String
The string to replace.
newValue
Type: System.String
The string that replaces oldValue, or null.
startIndex
Type: System.Int32
The position in this instance where the substring begins.
count
Type: System.Int32
The length of the substring.

Return Value

Type: System.Text.StringBuilder
A reference to this instance with all instances of oldValue replaced by newValue in the range from startIndex to startIndex + count - 1.

ExceptionCondition
ArgumentNullException

oldValue is null.

ArgumentException

The length of oldValue is zero.

ArgumentOutOfRangeException

startIndex or count is less than zero.

-or-

startIndex plus count indicates a character position not within this instance.

-or-

Enlarging the value of this instance would exceed MaxCapacity.

The strings to replace are checked on an ordinal basis; that is, the replacement is not culture-aware. If newValue is null, all occurrences of oldValue are removed. This method is case-sensitive.

The following example demonstrates the Replace method.


using System;
using System.Text;

class Sample 
{
    public static void Main() 
    {
//                0----+----1----+----2----+----3----+----4---
//                01234567890123456789012345678901234567890123
    string str = "The quick br!wn d#g jumps #ver the lazy cat.";
    StringBuilder sb = new StringBuilder(str);

    Console.WriteLine();
    Console.WriteLine("StringBuilder.Replace method");
    Console.WriteLine();

    Console.WriteLine("Original value:");
    Show(sb);

    sb.Replace('#', '!', 15, 29);        // Some '#' -> '!'
    Show(sb);
    sb.Replace('!', 'o');                // All '!' -> 'o'
    Show(sb);
    sb.Replace("cat", "dog");            // All "cat" -> "dog"
    Show(sb);
    sb.Replace("dog", "fox", 15, 20);    // Some "dog" -> "fox"

    Console.WriteLine("Final value:");
    Show(sb);
    }

    public static void Show(StringBuilder sbs)
    {
    string rule1 = "0----+----1----+----2----+----3----+----4---";
    string rule2 = "01234567890123456789012345678901234567890123";

    Console.WriteLine(rule1);
    Console.WriteLine(rule2);
    Console.WriteLine("{0}", sbs.ToString());
    Console.WriteLine();
    }
}
/*
This example produces the following results:

StringBuilder.Replace method

Original value:
0----+----1----+----2----+----3----+----4---
01234567890123456789012345678901234567890123
The quick br!wn d#g jumps #ver the lazy cat.

0----+----1----+----2----+----3----+----4---
01234567890123456789012345678901234567890123
The quick br!wn d!g jumps !ver the lazy cat.

0----+----1----+----2----+----3----+----4---
01234567890123456789012345678901234567890123
The quick brown dog jumps over the lazy cat.

0----+----1----+----2----+----3----+----4---
01234567890123456789012345678901234567890123
The quick brown dog jumps over the lazy dog.

Final value:
0----+----1----+----2----+----3----+----4---
01234567890123456789012345678901234567890123
The quick brown fox jumps over the lazy dog.

*/


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Community Additions

ADD
Show:
© 2014 Microsoft