共用方式為


StringBuilder.Replace 方法

定義

以另一個指定的字元或字串取代這個實例中所有出現的指定字元或字串。

多載

Replace(Char, Char)

以另一個指定的字元取代這個實例中所有出現的指定字元。

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

以這個產生器中的另一個實例取代一個唯讀字元範圍的所有實例。

Replace(String, String)

以另一個指定的字串取代這個實例中所有出現的指定字串。

Replace(Char, Char, Int32, Int32)

以另一個指定的字元取代這個實例的子字串內所有出現的指定字元。

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

以這個產生器一部分的另一個實例取代一個唯讀字元範圍的所有實例。

Replace(String, String, Int32, Int32)

以另一個指定的字串取代這個實例的子字串內所有出現的指定字串。

範例

下列範例示範 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)

來源:
StringBuilder.cs
來源:
StringBuilder.cs
來源:
StringBuilder.cs

以另一個指定的字元取代這個實例中所有出現的指定字元。

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

參數

oldChar
Char

要取代的字元。

newChar
Char

取代 oldChar的字元。

傳回

這個實例的參考,oldCharnewChar取代。

備註

這個方法會執行序數、區分大小寫的比較,以識別目前實例中發生 oldChar。 取代之後,目前 StringBuilder 實例的大小不會變更。

適用於

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

來源:
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

參數

oldValue
ReadOnlySpan<Char>

要取代的唯讀字元範圍。

newValue
ReadOnlySpan<Char>

要取代 oldValue 的唯讀字元範圍。

傳回

備註

如果 newValue 是空的,oldValue 實例就會從這個產生器中移除。

適用於

Replace(String, String)

來源:
StringBuilder.cs
來源:
StringBuilder.cs
來源:
StringBuilder.cs

以另一個指定的字串取代這個實例中所有出現的指定字串。

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

參數

oldValue
String

要取代的字串。

newValue
String

取代 oldValuenull的字串。

傳回

這個實例的參考,oldValue 的所有實例都由 newValue取代。

例外狀況

oldValue null

oldValue 的長度為零。

放大這個實體的值將會超過 MaxCapacity

備註

這個方法會執行序數、區分大小寫的比較,以識別目前實例中發生 oldValue。 如果 newValuenullString.Empty,則會移除所有出現的 oldValue

另請參閱

適用於

Replace(Char, Char, Int32, Int32)

來源:
StringBuilder.cs
來源:
StringBuilder.cs
來源:
StringBuilder.cs

以另一個指定的字元取代這個實例的子字串內所有出現的指定字元。

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

參數

oldChar
Char

要取代的字元。

newChar
Char

取代 oldChar的字元。

startIndex
Int32

這個實例中子字串開始的位置。

count
Int32

子字串的長度。

傳回

這個實例的參考,oldCharstartIndexstartIndex + count -1 的範圍中的 newChar 所取代。

例外狀況

startIndex + count 大於這個實例值的長度。

-或-

startIndexcount 小於零。

備註

這個方法會執行序數、區分大小寫的比較,以識別目前實例中發生 oldChar。 取代之後,目前 StringBuilder 物件的大小會保持不變。

適用於

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

來源:
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

參數

oldValue
ReadOnlySpan<Char>

要取代的唯讀字元範圍。

newValue
ReadOnlySpan<Char>

要取代 oldValue 的唯讀字元範圍。

startIndex
Int32

要在此產生器中啟動的索引。

count
Int32

要在此產生器中讀取的字元數。

傳回

備註

如果 newValue 是空的,oldValue 實例就會從這個產生器中移除。

適用於

Replace(String, String, Int32, Int32)

來源:
StringBuilder.cs
來源:
StringBuilder.cs
來源:
StringBuilder.cs

以另一個指定的字串取代這個實例的子字串內所有出現的指定字串。

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

參數

oldValue
String

要取代的字串。

newValue
String

取代 oldValuenull的字串。

startIndex
Int32

這個實例中子字串開始的位置。

count
Int32

子字串的長度。

傳回

這個實例的參考,其中所有實例的 oldValue 都由 startIndex 範圍中的 newValue 取代為 startIndex + count - 1。

例外狀況

oldValue null

oldValue 的長度為零。

startIndexcount 小於零。

-或-

startIndex 加上 count 表示不在這個實例內的字元位置。

-或-

放大這個實體的值將會超過 MaxCapacity

備註

這個方法會執行序數、區分大小寫的比較,以識別指定子字串中發生 oldValue。 如果 newValuenullString.Empty,則會移除所有出現的 oldValue

另請參閱

適用於