StringBuilder.Replace 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将此实例中指定字符或字符串的所有匹配项替换为另一个指定的字符或字符串。
重载
| 名称 | 说明 |
|---|---|
| Replace(Char, Char) |
将此实例中指定字符的所有匹配项替换为另一个指定字符。 |
| Replace(ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
将此生成器中的一个只读字符范围的所有实例替换为另一个实例。 |
| Replace(String, String) |
将此实例中指定字符串的所有匹配项替换为另一个指定的字符串。 |
| Replace(Rune, Rune) | |
| Replace(Char, Char, Int32, Int32) |
替换在此实例的子字符串中,将指定字符的所有匹配项替换为另一个指定字符。 |
| Replace(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Int32, Int32) |
将一个只读字符跨度的所有实例替换为此生成器的一部分。 |
| Replace(String, String, Int32, Int32) |
替换在此实例的子字符串中,将指定字符串的所有匹配项替换为另一个指定的字符串。 |
| Replace(Rune, Rune, 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)
- Source:
- StringBuilder.cs
- Source:
- StringBuilder.cs
- Source:
- StringBuilder.cs
- Source:
- StringBuilder.cs
- Source:
- 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>)
- Source:
- StringBuilder.cs
- Source:
- StringBuilder.cs
- Source:
- 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 的只读字符范围。
返回
对此实例的引用替换为 oldValuenewValue。
注解
如果 newValue 为空,则从此生成器中删除其 oldValue 实例。
适用于
Replace(String, String)
- Source:
- StringBuilder.cs
- Source:
- StringBuilder.cs
- Source:
- StringBuilder.cs
- Source:
- StringBuilder.cs
- Source:
- 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
替换的字符串 oldValue,或 null。
返回
对此实例的 oldValue 引用,其中包含所有 newValue替换为的实例。
例外
oldValue 是 null。
长度 oldValue 为零。
扩大此实例的值将超出 MaxCapacity。
注解
此方法执行序号区分大小写的比较,以识别当前实例中的匹配项 oldValue 。 如果 newValue 为 null 或 String.Empty,则删除所有匹配项 oldValue 。
另请参阅
适用于
Replace(Rune, Rune)
- Source:
- StringBuilder.cs
public:
System::Text::StringBuilder ^ Replace(System::Text::Rune oldRune, System::Text::Rune newRune);
public System.Text.StringBuilder Replace(System.Text.Rune oldRune, System.Text.Rune newRune);
member this.Replace : System.Text.Rune * System.Text.Rune -> System.Text.StringBuilder
Public Function Replace (oldRune As Rune, newRune As Rune) As StringBuilder
参数
- oldRune
- Rune
- newRune
- Rune
返回
适用于
Replace(Char, Char, Int32, Int32)
- Source:
- StringBuilder.cs
- Source:
- StringBuilder.cs
- Source:
- StringBuilder.cs
- Source:
- StringBuilder.cs
- Source:
- 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
子字符串的长度。
返回
对此实例的引用,oldCharnewChar替换为从 startIndex -1 到startIndex + count-1 的范围。
例外
注解
此方法执行序号区分大小写的比较,以识别当前实例中的匹配项 oldChar 。 替换后,当前 StringBuilder 对象的大小保持不变。
适用于
Replace(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Int32, Int32)
- Source:
- StringBuilder.cs
- Source:
- StringBuilder.cs
- Source:
- 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
要在此生成器中读取的字符数。
返回
对此实例的引用替换为 oldValuenewValue。
注解
如果 newValue 为空,则从此生成器中删除其 oldValue 实例。
适用于
Replace(String, String, Int32, Int32)
- Source:
- StringBuilder.cs
- Source:
- StringBuilder.cs
- Source:
- StringBuilder.cs
- Source:
- StringBuilder.cs
- Source:
- 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
替换的字符串 oldValue,或 null。
- startIndex
- Int32
此实例中子字符串开始的位置。
- count
- Int32
子字符串的长度。
返回
对此实例的oldValue引用,其中包含从 newValue 1 到 startIndexstartIndex + - 1 的范围中替换为count的所有实例。
例外
oldValue 是 null。
长度 oldValue 为零。
注解
此方法执行序号区分大小写的比较,以标识指定子字符串中的匹配项 oldValue 。 如果 newValue 为 null 或 String.Empty,则删除所有匹配项 oldValue 。
另请参阅
适用于
Replace(Rune, Rune, Int32, Int32)
- Source:
- StringBuilder.cs
public:
System::Text::StringBuilder ^ Replace(System::Text::Rune oldRune, System::Text::Rune newRune, int startIndex, int count);
public System.Text.StringBuilder Replace(System.Text.Rune oldRune, System.Text.Rune newRune, int startIndex, int count);
member this.Replace : System.Text.Rune * System.Text.Rune * int * int -> System.Text.StringBuilder
Public Function Replace (oldRune As Rune, newRune As Rune, startIndex As Integer, count As Integer) As StringBuilder
参数
- oldRune
- Rune
- newRune
- Rune
- startIndex
- Int32
- count
- Int32