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
.
Возвращаемое значение
Ссылка на этот экземпляр с oldChar
заменена newChar
.
Комментарии
Этот метод выполняет порядковое сравнение с учетом регистра для идентификации вхождения 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
Строка, которая заменяет oldValue
или null
.
Возвращаемое значение
Ссылка на этот экземпляр со всеми экземплярами oldValue
заменена newValue
.
Исключения
oldValue
null
.
Длина oldValue
равна нулю.
Увеличение значения этого экземпляра превысит MaxCapacity.
Комментарии
Этот метод выполняет порядковое сравнение с учетом регистра для идентификации вхождения oldValue
в текущем экземпляре. Если newValue
null
или String.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
Длина подстроки.
Возвращаемое значение
Ссылка на этот экземпляр с oldChar
заменена newChar
в диапазоне от startIndex
до startIndex
+ count
-1.
Исключения
startIndex
+
count
больше длины значения этого экземпляра.
-или-
startIndex
или count
меньше нуля.
Комментарии
Этот метод выполняет порядковое сравнение с учетом регистра для идентификации вхождения 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
Строка, которая заменяет oldValue
или null
.
- startIndex
- Int32
Позиция в этом экземпляре, в которой начинается подстрока.
- count
- Int32
Длина подстроки.
Возвращаемое значение
Ссылка на этот экземпляр со всеми экземплярами oldValue
заменена newValue
в диапазоне от startIndex
до startIndex
+ count
– 1.
Исключения
oldValue
null
.
Длина oldValue
равна нулю.
startIndex
или count
меньше нуля.
-или-
startIndex
плюс count
указывает положение символов, не в этом экземпляре.
-или-
Увеличение значения этого экземпляра превысит MaxCapacity.
Комментарии
Этот метод выполняет порядковое сравнение с учетом регистра для выявления вхождения oldValue
в указанной подстроке. Если newValue
null
или String.Empty, удаляются все вхождения oldValue
.