Export (0) Print
Expand All

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

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

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

public StringBuilder Replace (
	char oldChar,
	char newChar,
	int startIndex,
	int count
)
public StringBuilder Replace (
	char oldChar, 
	char newChar, 
	int startIndex, 
	int count
)
public function Replace (
	oldChar : char, 
	newChar : char, 
	startIndex : int, 
	count : int
) : StringBuilder

Parameters

oldChar

The character to replace.

newChar

The character that replaces oldChar.

startIndex

The position in this instance where the substring begins.

count

The length of the substring.

Return Value

A reference to this instance with oldChar replaced by newChar in the range from startIndex to startIndex + count -1.

Exception typeCondition

ArgumentOutOfRangeException

startIndex + count is greater than the length of the value of this instance.

-or-

startIndex or count is less than zero.

The size of the StringBuilder is unchanged because characters are only replaced. This method is case-sensitive.

The following code 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.

*/

// This example demonstrates StringBuilder.Replace()
import System.*;
import System.Text.*;

class Sample
{
    public static void main(String[] args)
    {
        //                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);
    } //main

    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();
    } //Show
} //Sample
/*
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.

*/

Windows 98, Windows 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 .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

Community Additions

ADD
Show:
© 2014 Microsoft