Урок 20. Простые функции манипуляции строками в C#
Все уроки по C# расположены здесь.
В этой части учебника по C# мы продолжим изучение манипуляции со строками с помощью функций класса String. В данной статье исследуются некоторые из простых методов, доступных для управления текстом строки.
Конкатенация строк
Конкатенация строк - это объединение двух строк путем добавления содержимого одной строки в конец другой. Ранее в этом уроке мы рассматривали строковые операции, включая использование оператора конкатенации (+). Мы использовали следующий пример:
string start = "Это "; string end = "объединённая строка!"; string concat = start + end; // concat = "Это объединённая строка!"Класс String также предоставляет метод для объединения строк. Метод Concat может принимать много строк, которые передаются как аргументы. Строки соединяются вместе и возвращается новая, объединенная строка:
string start = "Это "; string end = "объединённая строка!"; string concat = string.Concat(start, end);Примечание: как и в случае с предыдущими строковыми функциями, исходные строки не изменяются.
Вставка строк в строки
Класс String предоставляет метод, который вставляет одну строку в середину другой. Метод Insert работает с существующей переменной типа String или литералом, и требует два параметра. Первый - это целое число, которое указывает на позицию, в которую должна быть вставлена вторая строка. Это целое число подсчитывает символы слева с нулем, указывающим, что вставка будет в начале строки. Второй параметр - это строка, которая будет вставлена.
string template = "Пожалуйста, спросите по прибытии."; string tutor = "Лизу"; Console.WriteLine(template.Insert(20, tutor)); //Вывод: " Пожалуйста, спросите Лизу по прибытии."Удаление символов из строки
Метод Remove позволяет удалять символы из строк, соответственно их укорачивая. Доступны две перегрузки. Первая требует, чтобы один параметр указывал начальную позицию для удаления символа. Вторая перегрузка добавляет второй параметр, указывающий, сколько символов следует удалить. Любые другие символы не затрагиваются.
string sample = "Быстрая рыжая лиса убегает от собаки."; string result = sample.Remove(16); // result = " Быстрая рыжая лиса" result = sample.Remove(16, 32); // result = " Быстрая рыжая лиса собаки"Извлечение текста из строки
Класс String предоставляет полезную функцию для извлечения фрагмента текста из середины строки. Этот метод имеет две перегрузки, которые очень похожи из Remove метода. Однако, вместо удаления средней части строки и соблюдая начало и конец, то Substring метод отбрасывает начало и конец и возвращает среднюю секцию. Следующий код иллюстрирует использование с теми же параметрами, что и в предыдущем примере.
string sample = "Быстрая рыжая лиса убегает от собаки."; string result = sample.Substring(16); // result = "убегает от собаки." result = sample.Substring(16, 24); // result = "убегает от "Поиск и замена
Все современные текстовые процессоры и текстовые редакторы включают в себя функцию поиска и замены, которая позволяет заменить указанный текст второй строкой. Эта функция предоставляется методом Replace. Метод принимает два параметра. Первый - строка для поиска, а второй - строка для замены. При выполнении все экземпляры первой строки автоматически заменяются.
string sample = "Рыжая лиса."; string result = sample.Replace("Рыжая", "Зеленая"); // result = "Зеленая лиса."Копирование строк
Последней простой функцией манипуляции строками, которая будет рассмотрена в этой статье, является метод Copy. Этот метод создает копию существующей строки.
string sample = "Рыжая лиса."; string result = string.Copy(sample); // result = "Рыжая лиса."
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.