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 в текущем экземпляре. Если newValuenull или 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 в указанной подстроке. Если newValuenull или String.Empty, удаляются все вхождения oldValue.