Udostępnij za pośrednictwem


StringBuilder.Replace Metoda

Definicja

Zamienia wszystkie wystąpienia określonego znaku lub ciągu w tym wystąpieniu na inny określony znak lub ciąg.

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>)

Zastępuje wszystkie wystąpienia jednego zakresu znaków tylko do odczytu innym w tym konstruktorze.

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)

Zamienia w podciąg tego wystąpienia wszystkie wystąpienia określonego znaku na inny określony znak.

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

Zastępuje wszystkie wystąpienia jednego zakresu znaków tylko do odczytu innym w części tego konstruktora.

Replace(String, String, Int32, Int32)

Zamienia ciąg w podciąg tego wystąpienia wszystkie wystąpienia określonego ciągu za pomocą innego określonego ciągu.

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 z oldChar zastąpione przez newChar.

Uwagi

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

Dotyczy

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

Źródło:
StringBuilder.cs

Zastępuje wszystkie wystąpienia jednego zakresu znaków tylko do odczytu innym w tym konstruktorze.

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>

Zakres znaków tylko do odczytu do zastąpienia.

newValue
ReadOnlySpan<Char>

Zakres znaków tylko do odczytu, który zastąpi oldValue.

Zwraca

Uwagi

Jeśli newValue jest pusta, wystąpienia oldValue zostaną usunięte z tego konstruktora.

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 do zastąpienia.

newValue
String

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

Zwraca

Odwołanie do tego wystąpienia ze wszystkimi wystąpieniami oldValue zastąpione przez newValue.

Wyjątki

oldValue jest null.

Długość oldValue wynosi zero.

Powiększenie wartości tego wystąpienia spowodowałoby przekroczenie MaxCapacity.

Uwagi

Ta metoda wykonuje porządkowe, wrażliwe na wielkość liter porównanie, aby zidentyfikować wystąpienia oldValue w bieżącym wystąpieniu. Jeśli newValue jest null lub String.Empty, wszystkie wystąpienia oldValue zostaną usunięte.

Zobacz też

Dotyczy

Replace(Char, Char, Int32, Int32)

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

Zamienia w podciąg tego wystąpienia wszystkie wystąpienia określonego znaku na inny określony znak.

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 z oldChar zastąpione 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 lub count jest mniejsza niż zero.

Uwagi

Ta metoda wykonuje porządkowe, wrażliwe na wielkość liter porównanie, aby zidentyfikować wystąpienia oldChar w bieżącym wystąpieniu. Rozmiar bieżącego obiektu StringBuilder jest niezmieniony po zamianie.

Dotyczy

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

Źródło:
StringBuilder.cs

Zastępuje wszystkie wystąpienia jednego zakresu znaków tylko do odczytu innym w części tego konstruktora.

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>

Zakres znaków tylko do odczytu do zastąpienia.

newValue
ReadOnlySpan<Char>

Zakres znaków tylko do odczytu, który zastąpi oldValue.

startIndex
Int32

Indeks do uruchomienia w tym konstruktorze.

count
Int32

Liczba znaków do odczytania w tym konstruktorze.

Zwraca

Uwagi

Jeśli newValue jest pusta, wystąpienia oldValue zostaną usunięte z tego konstruktora.

Dotyczy

Replace(String, String, Int32, Int32)

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

Zamienia ciąg w podciąg tego wystąpienia wszystkie wystąpienia określonego ciągu za pomocą innego określonego ciągu.

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 do zastąpienia.

newValue
String

Ciąg, który zastępuje oldValue, 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 oldValue zastąpione przez newValue w zakresie od startIndex do startIndex + count - 1.

Wyjątki

oldValue jest null.

Długość oldValue wynosi zero.

startIndex 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-

Powiększenie wartości tego wystąpienia spowodowałoby przekroczenie MaxCapacity.

Uwagi

Ta metoda wykonuje porządkowe, wrażliwe na wielkość liter porównanie, aby zidentyfikować wystąpienia oldValue w określonym podciągu. Jeśli newValue jest null lub String.Empty, wszystkie wystąpienia oldValue zostaną usunięte.

Zobacz też

Dotyczy