Метод Replace
Метод Replace класса StringBuilder
находит в буфере заданный фрагмент
и подставляет вместо него другой.
Буфер меняется на месте, метод
возвращает тот же объект. Есть
перегрузки для пары строк, пары
символов char и замены
на участке между индексами.
Синтаксис
sb.Replace(string oldValue, string newValue)
sb.Replace(char oldChar, char newChar)
sb.Replace(string oldValue, string newValue, int startIndex, int count)
Пример
Давайте заменим подстроку в "abcde":
using System;
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder("abcde");
sb.Replace("bcd", "12345");
Console.WriteLine(sb.ToString());
}
}
Результат выполнения кода:
"a12345e"
Пример
Давайте заменим один символ на другой:
using System;
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder("abcde");
sb.Replace('a', 'z');
Console.WriteLine(sb.ToString());
}
}
Результат выполнения кода:
"zbcde"
Пример
Давайте заменим фрагмент только внутри заданного диапазона:
using System;
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder("abcabc");
sb.Replace("bc", "12", 1, 4);
Console.WriteLine(sb.ToString());
}
}
Результат выполнения кода:
"a12abc"
Пример
Давайте построим цепочку из Replace
и Append:
using System;
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder("abcde");
sb.Replace("de", "12").Append("345");
Console.WriteLine(sb.ToString());
}
}
Результат выполнения кода:
"abc12345"
Смотрите также
-
метод
Remove,
который вырезает фрагмент из буфера -
метод
Insert,
который вставляет текст внутрь буфера -
Индексатор StringBuilder,
который меняет один символ по номеру -
метод
ToString,
который возвращает текст после замены