StringBuilder.Replace 方法

定义

将此实例中指定字符或字符串的所有匹配项替换为另一个指定的字符或字符串。

重载

名称 说明
Replace(Char, Char)

将此实例中指定字符的所有匹配项替换为另一个指定字符。

Replace(String, String)

将此实例中指定字符串的所有匹配项替换为另一个指定的字符串。

Replace(Char, Char, Int32, Int32)

替换在此实例的子字符串中,将指定字符的所有匹配项替换为另一个指定字符。

Replace(String, String, Int32, Int32)

替换在此实例的子字符串中,将指定字符串的所有匹配项替换为另一个指定的字符串。

示例

以下示例演示了该方法 Replace

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)

将此实例中指定字符的所有匹配项替换为另一个指定字符。

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(String, String)

将此实例中指定字符串的所有匹配项替换为另一个指定的字符串。

public:
 System::Text::StringBuilder ^ Replace(System::String ^ oldValue, System::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

替换的字符串 oldValue,或 null

返回

对此实例的 oldValue 引用,其中包含所有 newValue替换为的实例。

例外

oldValuenull

长度 oldValue 为零。

扩大此实例的值将超出 MaxCapacity

注解

此方法执行序号区分大小写的比较,以识别当前实例中的匹配项 oldValue 。 如果 newValuenullString.Empty,则删除所有匹配项 oldValue

另请参阅

适用于

Replace(Char, Char, Int32, Int32)

替换在此实例的子字符串中,将指定字符的所有匹配项替换为另一个指定字符。

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

子字符串的长度。

返回

对此实例的引用,oldCharnewChar替换为从 startIndex -1 到countstartIndex + -1 的范围。

例外

startIndex + count 大于此实例的值的长度。

-或-

startIndexcount 小于零。

注解

此方法执行序号区分大小写的比较,以识别当前实例中的匹配项 oldChar 。 替换后,当前 StringBuilder 对象的大小保持不变。

适用于

Replace(String, String, Int32, Int32)

替换在此实例的子字符串中,将指定字符串的所有匹配项替换为另一个指定的字符串。

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

替换的字符串 oldValue,或 null

startIndex
Int32

此实例中子字符串开始的位置。

count
Int32

子字符串的长度。

返回

对此实例的oldValue引用,其中包含从 startIndex 1 到 startIndex + count - 1 的范围中替换为newValue的所有实例。

例外

oldValuenull

长度 oldValue 为零。

startIndexcount 小于零。

-或-

startIndex 加号 count 表示不在此实例中的字符位置。

-或-

扩大此实例的值将超出 MaxCapacity

注解

此方法执行序号区分大小写的比较,以标识指定子字符串中的匹配项 oldValue 。 如果 newValuenullString.Empty,则删除所有匹配项 oldValue

另请参阅

适用于