Работа со строками в C#

Содержание

Слайд 2

Строки в Си-шарп - это объекты класса String, значением которых является

Строки в Си-шарп - это объекты класса String, значением которых является текст.

Для работы со строками в этом классе определено множество методов (функций).
Слайд 3

Объявление строк static void Main(string[] args) { string s = "Hello,

Объявление строк

static void Main(string[] args) {    string s = "Hello, World!";    Console.WriteLine(s); }
static

void Main(string[] args) {    string s;    Console.WriteLine(s); // ошибка, строка не создана }
Слайд 4

Строка как массив символов string s1 = "hello"; char ch1 =

Строка как массив символов

string s1 = "hello";
char ch1 = s1[1]; //

символ 'e’
Console.WriteLine(ch1);
Console.WriteLine(s1.Length);
Слайд 5

Основные методы строк Сompare: сравнивает две строки Contains: определяет, содержится ли

Основные методы строк

Сompare: сравнивает две строки
Contains: определяет, содержится ли подстрока

в строке
Concat: соединяет строки
CopyTo: копирует часть строки, начиная с определенного индекса в массив
EndsWith: определяет, совпадает ли конец строки с подстрокой
Format: форматирует строку
IndexOf: находит индекс первого вхождения символа или подстроки в строке
Слайд 6

Основные методы строк Insert: вставляет в строку подстроку Join: соединяет элементы

Основные методы строк

Insert: вставляет в строку подстроку
Join: соединяет элементы массива строк
LastIndexOf:

находит индекс последнего вхождения символа или подстроки в строке
Replace: замещает в строке символ или подстроку другим символом или подстрокой
Split: разделяет одну строку на массив строк
Substring: извлекает из строки подстроку, начиная с указанной позиции
ToLower: переводит все символы строки в нижний регистр
ToUpper: переводит все символы строки в верхний регистр
Trim: удаляет начальные и конечные пробелы из строки
Слайд 7

Объединение (конкатенация) строк Конкатенация строк или объединение может производиться как с

Объединение (конкатенация) строк

Конкатенация строк или объединение может производиться как с помощью

операции +, так и с помощью метода Concat:
string s1 = "hello";
string s2 = "world";
string s3 = s1 + " " + s2; // результат: строка "hello world"
string s4 = String.Concat(s3, "!!!"); // результат: строка "hello world!!!"
Console.WriteLine(s4);
Слайд 8

Объединение (конкатенация) строк Для объединения строк также может использоваться метод Join:

Объединение (конкатенация) строк

Для объединения строк также может использоваться метод Join:
string s5

= "apple";
string s6 = "a day";
string s7 = "keeps";
string s8 = "a doctor";
string s9 = "away";
string[] values = new string[] { s5, s6, s7, s8, s9 };
String s10 = String.Join(" ", values);
// результат: строка "apple a day keeps a doctor away"
Слайд 9

Сравнение строк Для сравнения строк применяется статический метод Compare: string s1

Сравнение строк

Для сравнения строк применяется статический метод Compare:
string s1 = "hello";
string

s2 = "world";
int result = String.Compare(s1, s2);
if (result<0)
{
Console.WriteLine("Строка s1 перед строкой s2");
}
else if (result > 0)
{
Console.WriteLine("Строка s1 стоит после строки s2");
}
else
{
Console.WriteLine("Строки s1 и s2 идентичны");
}
// результатом будет "Строка s1 перед строкой s2"
Слайд 10

Поиск в строке С помощью метода IndexOf мы можем определить индекс

Поиск в строке

С помощью метода IndexOf мы можем определить индекс первого

вхождения отдельного символа или подстроки в строке:
string s1 = "hello world";
char ch = 'o';
int indexOfChar = s1.IndexOf(ch); // равно 4
Console.WriteLine(indexOfChar);
string subString = "wor";
int indexOfSubstring = s1.IndexOf(subString); // равно 6
Console.WriteLine(indexOfSubstring);
Слайд 11

Разделение строк С помощью функции Split мы можем разделить строку на

Разделение строк

С помощью функции Split мы можем разделить строку на массив

подстрок:
string text = "И поэтому все так произошло";
string[] words = text.Split(new char[] { ' ' });
foreach (string s in words)
{
Console.WriteLine(s);
}
//string[] words = text.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
Слайд 12

Обрезка строки Для обрезки начальных или концевых символов используется функция Trim:

Обрезка строки

Для обрезки начальных или концевых символов используется функция Trim:
string text

= " hello world ";
text = text.Trim(); // результат "hello world"
text = text.Trim(new char[] { 'd', 'h' }); // результат "ello worl"
Слайд 13

Обрезка строки Обрезать определенную часть строки позволяет функция Substring: string text

Обрезка строки

Обрезать определенную часть строки позволяет функция Substring:
string text = "Хороший

день";
// обрезаем начиная с третьего символа
text = text.Substring(2);
// результат "роший день"
Console.WriteLine(text);
// обрезаем сначала до последних двух символов
text = text.Substring(0, text.Length - 2);
// результат "роший де"
Console.WriteLine(text);
Слайд 14

Вставка строки Для вставки одной строки в другую применяется функция Insert:

Вставка строки

Для вставки одной строки в другую применяется функция Insert:
string text

= "Хороший день";
string subString = "замечательный ";
text = text.Insert(8, subString);
Console.WriteLine(text);
Слайд 15

Удаление строк Удалить часть строки помогает метод Remove: string text =

Удаление строк

Удалить часть строки помогает метод Remove:
string text = "Хороший день";
//

индекс последнего символа
int ind = text.Length - 1;
// вырезаем последний символ
text = text.Remove(ind);
Console.WriteLine(text);
// вырезаем первые два символа
text = text.Remove(0, 2);
Слайд 16

Замена символа или подстроки Чтобы заменить один символ или подстроку на

Замена символа или подстроки

Чтобы заменить один символ или подстроку на другую,

применяется метод Replace:
string text = "хороший день";
text = text.Replace("хороший", "плохой");
Console.WriteLine(text);
text = text.Replace("о", "");
Console.WriteLine(text);
Слайд 17

Смена регистра Для приведения строки к верхнему и нижнему регистру используются

Смена регистра

Для приведения строки к верхнему и нижнему регистру используются соответственно

функции ToUpper() и ToLower():
string hello = "Hello world!";
Console.WriteLine(hello.ToLower()); // hello world!
Console.WriteLine(hello.ToUpper()); // HELLO WORLD!
Слайд 18

Домашнее задание Введите с клавиатуры строку произвольной длины и подсчитайте процент

Домашнее задание

Введите с клавиатуры строку произвольной длины и подсчитайте процент вхождения

заданного символа в строку;
В заданной строке текста определите количество слов. Каждое слово отделено друг от друга пробелом.
В массиве строк (список фамилий) определите самую длинную фамилию.