На этом шаге мы рассмотрим методы, используемые для вставки, замены и получения фрагмента текста.
Методы Insert(), Remove() и Replace() используются соответственно для вставки одной строки в другую, удаления части строки и замены одной части строки на другую.
Методу Insert() при вызове передается первый целочисленный аргумент, определяющий место вставки подстроки, и собственно подстрока, предназначенная для вставки в исходную строку. Результатом метод возвращает новый созданный текстовый объект.
Методу Remove() передается два целочисленных аргумента: первый определяет позицию, начиная с которой в текстовой строке удаляются символы, а второй аргумент определяет количество удаляемых символов. Новая строка, сформированная путем удаления из исходного текста символов в указанном диапазоне индексов, возвращается результатом метода.
Методу Replace() аргументами могут передаваться два символа или две текстовые строки. При вызове метода из текстового объекта формируется (и возвращается результатом) новая текстовая строка, которая получается заменой в исходном тексте символа или подстроки, указанной первым аргументом, на символ или подстроку, указанную вторым аргументом.
Также стоит упомянуть метод Substring(), который позволяет извлечь подстроку из текста. Аргументом методу передается целочисленное значение, определяющее индекс, начиная с которого извлекается подстрока (подстрока извлекается до конца текста). Если передать второй целочисленный аргумент, то он будет определять количество символов, включаемых в извлекаемую подстроку. Подстрока возвращается результатом метода. Исходный текст при этом не меняется.
Как перечисленные выше методы используются на практике, иллюстрирует приведенная ниже программа.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace pr99_1 { class Program { static void Main() { // Исходный текст: String txt = "Mы изучаем C#"; // Проверка исходного текста: Console.WriteLine(txt); // Текстовая переменная: String str; // Вставка слова в текст: str = txt.Insert(11, "язык "); // Проверка текста: Console.WriteLine(str); // Вставка в текст слоза с последующим замещением // другого текстового блока: str = str.Insert(3, "не ").Replace("C#", "Java"); // Проверка текста: Console.WriteLine(str); // Замена пробелов на подчеркивания: str = str.Replace(' ', '_'); // Проверка текста: Console.WriteLine(str); // Извлечение подстроки: str = str.Substring(2, 12); // Проверка текста: Console.WriteLine(str); // Извлечение подстроки: str = txt.Substring(3); // Проверка текста: Console.WriteLine(str); // Проверка исходного текста: Console.WriteLine(txt); // Задержка: Console.ReadLine(); } } }
Результат выполнения программы такой.
Рис.1. Вставка и замещение текста
В программе объявляется текстовая переменная txt со значением "Мы изучаем С#". Значение этой переменной выводится в консоль. Также объявляется текстовая переменная str. Первое значение этой переменной присваивается командой
str = txt.Insert(11, "язык "); .
Значением является текст, который получается добавлением строки "язык " в текстовое значение, на которое ссылается переменная txt. Строка вставляется, начиная с позиции с индексом 11.
При выполнении команды
str = str.Insert(3, "не ").Replace("C#", "Java");
str = str.Replace(' ', '_');
Командой
str = str.Substring(2, 12);
str = txt.Substring(3); .
На следующем шаге мы закончим изучение этого вопроса.