StringBuilder.Replace Method

Definition

Replaces all occurrences of a specified character or string in this instance with another specified character or string.

Overloads

Replace(Char, Char)

Replaces all occurrences of a specified character in this instance with another specified character.

Replace(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Replaces all instances of one read-only character span with another in this builder.

Replace(String, String)

Replaces all occurrences of a specified string in this instance with another specified string.

Replace(Char, Char, Int32, Int32)

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

Replace(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Int32, Int32)

Replaces all instances of one read-only character span with another in part of this builder.

Replace(String, String, Int32, Int32)

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

Examples

The following example demonstrates the Replace method.

C#
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.

*/

Replace(Char, Char)

Source:
StringBuilder.cs
Source:
StringBuilder.cs
Source:
StringBuilder.cs

Replaces all occurrences of a specified character in this instance with another specified character.

C#
public System.Text.StringBuilder Replace(char oldChar, char newChar);

Parameters

oldChar
Char

The character to replace.

newChar
Char

The character that replaces oldChar.

Returns

A reference to this instance with oldChar replaced by newChar.

Remarks

This method performs an ordinal, case-sensitive comparison to identify occurrences of oldChar in the current instance. The size of the current StringBuilder instance is unchanged after the replacement.

Applies to

.NET 10 ja muut versiot
Tuote Versiot
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Replace(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Source:
StringBuilder.cs

Replaces all instances of one read-only character span with another in this builder.

C#
public System.Text.StringBuilder Replace(ReadOnlySpan<char> oldValue, ReadOnlySpan<char> newValue);

Parameters

oldValue
ReadOnlySpan<Char>

The read-only character span to replace.

newValue
ReadOnlySpan<Char>

The read-only character span to replace oldValue with.

Returns

A reference to this instance with oldChar replaced by newChar.

Remarks

If newValue is empty, instances of oldValue are removed from this builder.

Applies to

.NET 10 ja .NET 9
Tuote Versiot
.NET 9, 10

Replace(String, String)

Source:
StringBuilder.cs
Source:
StringBuilder.cs
Source:
StringBuilder.cs

Replaces all occurrences of a specified string in this instance with another specified string.

C#
public System.Text.StringBuilder Replace(string oldValue, string newValue);
C#
public System.Text.StringBuilder Replace(string oldValue, string? newValue);

Parameters

oldValue
String

The string to replace.

newValue
String

The string that replaces oldValue, or null.

Returns

A reference to this instance with all instances of oldValue replaced by newValue.

Exceptions

oldValue is null.

The length of oldValue is zero.

Enlarging the value of this instance would exceed MaxCapacity.

Remarks

This method performs an ordinal, case-sensitive comparison to identify occurrences of oldValue in the current instance. If newValue is null or String.Empty, all occurrences of oldValue are removed.

See also

Applies to

.NET 10 ja muut versiot
Tuote Versiot
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Replace(Char, Char, Int32, Int32)

Source:
StringBuilder.cs
Source:
StringBuilder.cs
Source:
StringBuilder.cs

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

C#
public System.Text.StringBuilder Replace(char oldChar, char newChar, int startIndex, int count);

Parameters

oldChar
Char

The character to replace.

newChar
Char

The character that replaces oldChar.

startIndex
Int32

The position in this instance where the substring begins.

count
Int32

The length of the substring.

Returns

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

Exceptions

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

-or-

startIndex or count is less than zero.

Remarks

This method performs an ordinal, case-sensitive comparison to identify occurrences of oldChar in the current instance. The size of the current StringBuilder object is unchanged after the replacement.

Applies to

.NET 10 ja muut versiot
Tuote Versiot
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Replace(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Int32, Int32)

Source:
StringBuilder.cs

Replaces all instances of one read-only character span with another in part of this builder.

C#
public System.Text.StringBuilder Replace(ReadOnlySpan<char> oldValue, ReadOnlySpan<char> newValue, int startIndex, int count);

Parameters

oldValue
ReadOnlySpan<Char>

The read-only character span to replace.

newValue
ReadOnlySpan<Char>

The read-only character span to replace oldValue with.

startIndex
Int32

The index to start in this builder.

count
Int32

The number of characters to read in this builder.

Returns

A reference to this instance with oldChar replaced by newChar.

Remarks

If newValue is empty, instances of oldValue are removed from this builder.

Applies to

.NET 10 ja .NET 9
Tuote Versiot
.NET 9, 10

Replace(String, String, Int32, Int32)

Source:
StringBuilder.cs
Source:
StringBuilder.cs
Source:
StringBuilder.cs

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

C#
public System.Text.StringBuilder Replace(string oldValue, string newValue, int startIndex, int count);
C#
public System.Text.StringBuilder Replace(string oldValue, string? newValue, int startIndex, int count);

Parameters

oldValue
String

The string to replace.

newValue
String

The string that replaces oldValue, or null.

startIndex
Int32

The position in this instance where the substring begins.

count
Int32

The length of the substring.

Returns

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

Exceptions

oldValue is null.

The length of oldValue is zero.

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.

Remarks

This method performs an ordinal, case-sensitive comparison to identify occurrences of oldValue in the specified substring. If newValue is null or String.Empty, all occurrences of oldValue are removed.

See also

Applies to

.NET 10 ja muut versiot
Tuote Versiot
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0