Udostępnij za pośrednictwem


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

Microsoft Silverlight will reach end of support after October 2021. Learn more.

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)

Syntax

'Declaration
Public Function Replace ( _
    oldChar As Char, _
    newChar As Char, _
    startIndex As Integer, _
    count As Integer _
) As StringBuilder
public StringBuilder Replace(
    char oldChar,
    char newChar,
    int startIndex,
    int count
)

Parameters

  • newChar
    Type: System.Char
    The character that replaces oldChar.
  • startIndex
    Type: System.Int32
    The position in this instance where the substring begins.

Return Value

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

Exceptions

Exception Condition
ArgumentOutOfRangeException

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

-or-

startIndex or count is less than zero.

Remarks

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

Examples

The following code example demonstrates the Replace method.

Imports System.Text

Class Example
   Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      '                    0----+----1----+----2----+----3----+----4---
      '                    01234567890123456789012345678901234567890123
      Dim str As String = "The quick br!wn d#g jumps #ver the lazy cat."
      Dim sb As New StringBuilder(str)

      outputBlock.Text &= vbCrLf
      outputBlock.Text &= "StringBuilder.Replace method" & vbCrLf
      outputBlock.Text &= vbCrLf

      outputBlock.Text &= "Original value:" & vbCrLf
      Show(outputBlock, sb)

      sb.Replace("#"c, "!"c, 15, 29)   ' Some '#' -> '!'
      Show(outputBlock, sb)
      sb.Replace("!"c, "o"c)           ' 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:" & vbCrLf
      Show(outputBlock, sb)
   End Sub 'Main

   Public Shared Sub Show(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal sbs As StringBuilder)
      Dim rule1 As String = "0----+----1----+----2----+----3----+----4---"
      Dim rule2 As String = "01234567890123456789012345678901234567890123"

      outputBlock.Text &= rule1 & vbCrLf
      outputBlock.Text &= rule2 & vbCrLf
      outputBlock.Text += String.Format("{0}", sbs.ToString()) & vbCrLf
      outputBlock.Text &= vbCrLf
   End Sub 'Show
End Class '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.
'
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.

*/

Version Information

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

Platforms

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