Partilhar via


StringBuilder.Replace Método

Definição

Substitui todas as ocorrências de um caractere ou cadeia de caracteres especificados nesta instância por outro caractere ou cadeia de caracteres especificado.

Sobrecargas

Replace(Char, Char)

Substitui todas as ocorrências de um caractere especificado nesta instância por outro caractere especificado.

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

Substitui todas as instâncias de um intervalo de caracteres somente leitura por outra neste construtor.

Replace(String, String)

Substitui todas as ocorrências de uma cadeia de caracteres especificada nesta instância por outra cadeia de caracteres especificada.

Replace(Char, Char, Int32, Int32)

Substitui, dentro de uma subcadeia de caracteres dessa instância, todas as ocorrências de um caractere especificado por outro caractere especificado.

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

Substitui todas as instâncias de um intervalo de caracteres somente leitura por outra em parte desse construtor.

Replace(String, String, Int32, Int32)

Substitui, dentro de uma subcadeia de caracteres dessa instância, todas as ocorrências de uma cadeia de caracteres especificada por outra cadeia de caracteres especificada.

Exemplos

O exemplo a seguir demonstra o método 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)

Origem:
StringBuilder.cs
Origem:
StringBuilder.cs
Origem:
StringBuilder.cs

Substitui todas as ocorrências de um caractere especificado nesta instância por outro caractere especificado.

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

Parâmetros

oldChar
Char

O caractere a ser substituído.

newChar
Char

O caractere que substitui oldChar.

Retornos

Uma referência a essa instância com oldChar substituído por newChar.

Comentários

Esse método executa uma comparação ordinal, que diferencia maiúsculas de minúsculas, para identificar ocorrências de oldChar na instância atual. O tamanho da instância de StringBuilder atual permanece inalterado após a substituição.

Aplica-se a

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

Origem:
StringBuilder.cs

Substitui todas as instâncias de um intervalo de caracteres somente leitura por outra neste construtor.

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

Parâmetros

oldValue
ReadOnlySpan<Char>

O intervalo de caracteres somente leitura a ser substituído.

newValue
ReadOnlySpan<Char>

O intervalo de caracteres somente leitura para substituir oldValue.

Retornos

Comentários

Se newValue estiver vazio, instâncias de oldValue serão removidas desse construtor.

Aplica-se a

Replace(String, String)

Origem:
StringBuilder.cs
Origem:
StringBuilder.cs
Origem:
StringBuilder.cs

Substitui todas as ocorrências de uma cadeia de caracteres especificada nesta instância por outra cadeia de caracteres especificada.

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

Parâmetros

oldValue
String

A cadeia de caracteres a ser substituída.

newValue
String

A cadeia de caracteres que substitui oldValueou null.

Retornos

Uma referência a essa instância com todas as instâncias de oldValue substituídas por newValue.

Exceções

oldValue é null.

O comprimento de oldValue é zero.

A ampliação do valor dessa instância excederia MaxCapacity.

Comentários

Esse método executa uma comparação ordinal, que diferencia maiúsculas de minúsculas, para identificar ocorrências de oldValue na instância atual. Se newValue for null ou String.Empty, todas as ocorrências de oldValue serão removidas.

Confira também

Aplica-se a

Replace(Char, Char, Int32, Int32)

Origem:
StringBuilder.cs
Origem:
StringBuilder.cs
Origem:
StringBuilder.cs

Substitui, dentro de uma subcadeia de caracteres dessa instância, todas as ocorrências de um caractere especificado por outro caractere especificado.

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

Parâmetros

oldChar
Char

O caractere a ser substituído.

newChar
Char

O caractere que substitui oldChar.

startIndex
Int32

A posição nesta instância em que a subcadeia de caracteres começa.

count
Int32

O comprimento da subcadeia de caracteres.

Retornos

Uma referência a essa instância com oldChar substituído por newChar no intervalo de startIndex a startIndex + count -1.

Exceções

startIndex + count é maior que o comprimento do valor dessa instância.

-ou-

startIndex ou count é menor que zero.

Comentários

Esse método executa uma comparação ordinal, que diferencia maiúsculas de minúsculas, para identificar ocorrências de oldChar na instância atual. O tamanho do objeto StringBuilder atual permanece inalterado após a substituição.

Aplica-se a

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

Origem:
StringBuilder.cs

Substitui todas as instâncias de um intervalo de caracteres somente leitura por outra em parte desse construtor.

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

Parâmetros

oldValue
ReadOnlySpan<Char>

O intervalo de caracteres somente leitura a ser substituído.

newValue
ReadOnlySpan<Char>

O intervalo de caracteres somente leitura para substituir oldValue.

startIndex
Int32

O índice a ser iniciado neste construtor.

count
Int32

O número de caracteres a serem lidos neste construtor.

Retornos

Comentários

Se newValue estiver vazio, instâncias de oldValue serão removidas desse construtor.

Aplica-se a

Replace(String, String, Int32, Int32)

Origem:
StringBuilder.cs
Origem:
StringBuilder.cs
Origem:
StringBuilder.cs

Substitui, dentro de uma subcadeia de caracteres dessa instância, todas as ocorrências de uma cadeia de caracteres especificada por outra cadeia de caracteres especificada.

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

Parâmetros

oldValue
String

A cadeia de caracteres a ser substituída.

newValue
String

A cadeia de caracteres que substitui oldValueou null.

startIndex
Int32

A posição nesta instância em que a subcadeia de caracteres começa.

count
Int32

O comprimento da subcadeia de caracteres.

Retornos

Uma referência a essa instância com todas as instâncias de oldValue substituídas por newValue no intervalo de startIndex a startIndex + count a 1.

Exceções

oldValue é null.

O comprimento de oldValue é zero.

startIndex ou count é menor que zero.

-ou-

startIndex mais count indica uma posição de caractere não dentro dessa instância.

-ou-

A ampliação do valor dessa instância excederia MaxCapacity.

Comentários

Esse método executa uma comparação ordinal, que diferencia maiúsculas de minúsculas, para identificar ocorrências de oldValue na subcadeia de caracteres especificada. Se newValue for null ou String.Empty, todas as ocorrências de oldValue serão removidas.

Confira também

Aplica-se a