StringBuilder.Replace Metoda

Definicja

Zastępuje wszystkie wystąpienia określonego znaku lub ciągu w tym wystąpieniu innym określonym znakiem lub ciągiem.

Przeciążenia

Replace(Char, Char)

Zastępuje wszystkie wystąpienia określonego znaku w tym wystąpieniu innym określonym znakiem.

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

Zastępuje wszystkie wystąpienia określonego ciągu w tym wystąpieniu innym określonym ciągiem.

Replace(Char, Char, Int32, Int32)

Zastępuje podciąg tego wystąpienia wszystkie wystąpienia określonego znaku o innym określonym znaku.

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

Zastępuje ciąg w podciągu tego wystąpienia wszystkie wystąpienia określonego ciągu innym określonym ciągiem.

Przykłady

W poniższym przykładzie pokazano metodę Replace .

using namespace System;
using namespace System::Text;
void Show( StringBuilder^ sbs )
{
   String^ rule1 = "0----+----1----+----2----+----3----+----4---";
   String^ rule2 = "01234567890123456789012345678901234567890123";
   Console::WriteLine( rule1 );
   Console::WriteLine( rule2 );
   Console::WriteLine( "{0}", sbs );
   Console::WriteLine();
}

int main()
{
   
   //                  0----+----1----+----2----+----3----+----4---
   //                  01234567890123456789012345678901234567890123
   String^ str = "The quick br!wn d#g jumps #ver the lazy cat.";
   StringBuilder^ sb = gcnew 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 );
}

/*
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 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.

*/
open System.Text

let show (sbs: StringBuilder) =
    let rule1 = "0----+----1----+----2----+----3----+----4---"
    let rule2 = "01234567890123456789012345678901234567890123"
    printfn $"{rule1}\n{rule2}\n{sbs}\n"

//         0----+----1----+----2----+----3----+----4---
//         01234567890123456789012345678901234567890123
let str = "The quick br!wn d#g jumps #ver the lazy cat."
let sb = StringBuilder str

printfn "StringBuilder.Replace method\n"

printfn "Original value:"
show sb

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

printfn "Final value:"
show sb

// 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.
Imports System.Text

Class Sample
   Public Shared Sub Main()
      '                    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)
      
      Console.WriteLine()
      Console.WriteLine("StringBuilder.Replace method")
      Console.WriteLine()
      
      Console.WriteLine("Original value:")
      Show(sb)
      
      sb.Replace("#"c, "!"c, 15, 29)   ' Some '#' -> '!'
      Show(sb)
      sb.Replace("!"c, "o"c)           ' 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)
   End Sub
   
   Public Shared Sub Show(sbs As StringBuilder)
      Dim rule1 As String = "0----+----1----+----2----+----3----+----4---"
      Dim rule2 As String = "01234567890123456789012345678901234567890123"
      
      Console.WriteLine(rule1)
      Console.WriteLine(rule2)
      Console.WriteLine("{0}", sbs.ToString())
      Console.WriteLine()
   End Sub
End Class
'
'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)

Źródło:
StringBuilder.cs
Źródło:
StringBuilder.cs
Źródło:
StringBuilder.cs

Zastępuje wszystkie wystąpienia określonego znaku w tym wystąpieniu innym określonym znakiem.

public:
 System::Text::StringBuilder ^ Replace(char oldChar, char newChar);
public System.Text.StringBuilder Replace (char oldChar, char newChar);
member this.Replace : char * char -> System.Text.StringBuilder
Public Function Replace (oldChar As Char, newChar As Char) As StringBuilder

Parametry

oldChar
Char

Znak do zastąpienia.

newChar
Char

Znak, który zastępuje oldChar.

Zwraca

Odwołanie do tego wystąpienia zastąpione oldChar przez newChar.

Uwagi

Ta metoda wykonuje porządkowe, wrażliwe na wielkość liter porównanie w celu zidentyfikowania wystąpień oldChar w bieżącym wystąpieniu. Rozmiar bieżącego StringBuilder wystąpienia jest niezmieniony po zastąpieniu.

Dotyczy

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

Źródło:
StringBuilder.cs
public:
 System::Text::StringBuilder ^ Replace(ReadOnlySpan<char> oldValue, ReadOnlySpan<char> newValue);
public System.Text.StringBuilder Replace (ReadOnlySpan<char> oldValue, ReadOnlySpan<char> newValue);
member this.Replace : ReadOnlySpan<char> * ReadOnlySpan<char> -> System.Text.StringBuilder
Public Function Replace (oldValue As ReadOnlySpan(Of Char), newValue As ReadOnlySpan(Of Char)) As StringBuilder

Parametry

oldValue
ReadOnlySpan<Char>
newValue
ReadOnlySpan<Char>

Zwraca

Dotyczy

Replace(String, String)

Źródło:
StringBuilder.cs
Źródło:
StringBuilder.cs
Źródło:
StringBuilder.cs

Zastępuje wszystkie wystąpienia określonego ciągu w tym wystąpieniu innym określonym ciągiem.

public:
 System::Text::StringBuilder ^ Replace(System::String ^ oldValue, System::String ^ newValue);
public System.Text.StringBuilder Replace (string oldValue, string newValue);
public System.Text.StringBuilder Replace (string oldValue, string? newValue);
member this.Replace : string * string -> System.Text.StringBuilder
Public Function Replace (oldValue As String, newValue As String) As StringBuilder

Parametry

oldValue
String

Ciąg zamieniany.

newValue
String

Ciąg, który zastępuje oldValueciąg , lub null.

Zwraca

Odwołanie do tego wystąpienia z wszystkimi wystąpieniami zastąpionymi oldValue przez newValue.

Wyjątki

oldValue to null.

Długość oldValue to zero.

Rozszerzenie wartości tego wystąpienia spowoduje przekroczenie wartości MaxCapacity.

Uwagi

Ta metoda wykonuje porządkowe, wrażliwe na wielkość liter porównanie w celu zidentyfikowania wystąpień oldValue w bieżącym wystąpieniu. Jeśli newValue jest lub String.Emptynull , wszystkie wystąpienia są oldValue usuwane.

Zobacz też

Dotyczy

Replace(Char, Char, Int32, Int32)

Źródło:
StringBuilder.cs
Źródło:
StringBuilder.cs
Źródło:
StringBuilder.cs

Zastępuje podciąg tego wystąpienia wszystkie wystąpienia określonego znaku o innym określonym znaku.

public:
 System::Text::StringBuilder ^ Replace(char oldChar, char newChar, int startIndex, int count);
public System.Text.StringBuilder Replace (char oldChar, char newChar, int startIndex, int count);
member this.Replace : char * char * int * int -> System.Text.StringBuilder
Public Function Replace (oldChar As Char, newChar As Char, startIndex As Integer, count As Integer) As StringBuilder

Parametry

oldChar
Char

Znak do zastąpienia.

newChar
Char

Znak, który zastępuje oldChar.

startIndex
Int32

Pozycja w tym wystąpieniu, w którym rozpoczyna się podciąg.

count
Int32

Długość podciągów.

Zwraca

Odwołanie do tego wystąpienia zastąpione oldChar przez newChar w zakresie od startIndex do startIndex + count -1.

Wyjątki

startIndex + count jest większa niż długość wartości tego wystąpienia.

-lub-

startIndex wartość lub count jest mniejsza niż zero.

Uwagi

Ta metoda wykonuje porządkowe, wrażliwe na wielkość liter porównanie w celu zidentyfikowania wystąpień oldChar w bieżącym wystąpieniu. Rozmiar bieżącego StringBuilder obiektu jest niezmieniony po zastąpieniu.

Dotyczy

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

Źródło:
StringBuilder.cs
public:
 System::Text::StringBuilder ^ Replace(ReadOnlySpan<char> oldValue, ReadOnlySpan<char> newValue, int startIndex, int count);
public System.Text.StringBuilder Replace (ReadOnlySpan<char> oldValue, ReadOnlySpan<char> newValue, int startIndex, int count);
member this.Replace : ReadOnlySpan<char> * ReadOnlySpan<char> * int * int -> System.Text.StringBuilder
Public Function Replace (oldValue As ReadOnlySpan(Of Char), newValue As ReadOnlySpan(Of Char), startIndex As Integer, count As Integer) As StringBuilder

Parametry

oldValue
ReadOnlySpan<Char>
newValue
ReadOnlySpan<Char>
startIndex
Int32
count
Int32

Zwraca

Dotyczy

Replace(String, String, Int32, Int32)

Źródło:
StringBuilder.cs
Źródło:
StringBuilder.cs
Źródło:
StringBuilder.cs

Zastępuje ciąg w podciągu tego wystąpienia wszystkie wystąpienia określonego ciągu innym określonym ciągiem.

public:
 System::Text::StringBuilder ^ Replace(System::String ^ oldValue, System::String ^ newValue, int startIndex, int count);
public System.Text.StringBuilder Replace (string oldValue, string newValue, int startIndex, int count);
public System.Text.StringBuilder Replace (string oldValue, string? newValue, int startIndex, int count);
member this.Replace : string * string * int * int -> System.Text.StringBuilder
Public Function Replace (oldValue As String, newValue As String, startIndex As Integer, count As Integer) As StringBuilder

Parametry

oldValue
String

Ciąg zamieniany.

newValue
String

Ciąg, który zastępuje oldValueciąg , lub null.

startIndex
Int32

Pozycja w tym wystąpieniu, w którym rozpoczyna się podciąg.

count
Int32

Długość podciągów.

Zwraca

Odwołanie do tego wystąpienia ze wszystkimi wystąpieniami zastąpionymi oldValue przez newValue zakres od startIndex do startIndex + count -1.

Wyjątki

oldValue to null.

Długość oldValue to zero.

startIndex wartość lub count jest mniejsza niż zero.

-lub-

startIndex plus count wskazuje położenie znaku, które nie mieści się w tym wystąpieniu.

-lub-

Rozszerzenie wartości tego wystąpienia spowoduje przekroczenie wartości MaxCapacity.

Uwagi

Ta metoda wykonuje porządkowe, wrażliwe na wielkość liter porównanie, aby zidentyfikować wystąpienia oldValue określonego podciągu. Jeśli newValue jest lub String.Emptynull , wszystkie wystąpienia są oldValue usuwane.

Zobacz też

Dotyczy