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 its maximum capacity.

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.

Platform Notes

Silverlight for Windows Phone Silverlight for Windows Phone

 If you call this method when a null character exists in the string, the new string will be truncated at the first null character.

The following code example demonstrates the Replace method.


using System;
using System.Text;

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

      outputBlock.Text += "\n";
      outputBlock.Text += "StringBuilder.Replace method" + "\n";
      outputBlock.Text += "\n";

      outputBlock.Text += "Original value:" + "\n";
      Show(outputBlock, sb);

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

      outputBlock.Text += "Final value:" + "\n";
      Show(outputBlock, sb);
   }

   public static void Show(System.Windows.Controls.TextBlock outputBlock, StringBuilder sbs)
   {
      string rule1 = "0----+----1----+----2----+----3----+----4---";
      string rule2 = "01234567890123456789012345678901234567890123";

      outputBlock.Text += rule1 + "\n";
      outputBlock.Text += rule2 + "\n";
      outputBlock.Text += String.Format("{0}", sbs.ToString()) + "\n";
      outputBlock.Text += "\n";
   }
}
/*
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.

*/


Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions

ADD
Show: