Найти в Дзене
Программы от меня

C#. Работа со строками. Вернемся к старой теме.

Здравствуйте, уважаемые читатели! Полтора года назад я писал статью про подстроки в python (она здесь : https://dzen.ru/a/ZfPJvtkB215JHwNg). И в конце я обещал, что сделаю такой же обзор функций работы со строками для C#. И сейчас, перечитывая ту статью, я подумал: а почему бы и не выполнить обещание. Во-первых, выполнять обещание — признак хорошего тона. Во-вторых… это просто интересно — разбирать функции работы со строками в C#. Ну что же, сказано — сделано. И вот я взялся за строки… Но, увлекшись разбором, я понял, - здесь одной статьёй не обойтись. Ну несколько так несколько. А начнем... со всего понемногу, вернее с того, что входило в статью о строках в python.
Ну что же, открываем Visual Studio (или VSCode, или любой другой редактор или IDE, где мы пишем программы для C#) и создаем консольное приложение. Назовем его... ну просто word. Т.е. слово. Войдем в него и напишем вот такую программу.
Запустим программу на исполнение. Она выведет следующее: Внизу - сообщение для нас,
Оглавление

Здравствуйте, уважаемые читатели! Полтора года назад я писал статью про подстроки в python (она здесь : https://dzen.ru/a/ZfPJvtkB215JHwNg). И в конце я обещал, что сделаю такой же обзор функций работы со строками для C#. И сейчас, перечитывая ту статью, я подумал: а почему бы и не выполнить обещание. Во-первых, выполнять обещание — признак хорошего тона. Во-вторых… это просто интересно — разбирать функции работы со строками в C#. Ну что же, сказано — сделано.

И вот я взялся за строки… Но, увлекшись разбором, я понял, - здесь одной статьёй не обойтись. Ну несколько так несколько. А начнем... со всего понемногу, вернее с того, что входило в статью о строках в python.


Вначале было слово…

Ну что же, открываем Visual Studio (или VSCode, или любой другой редактор или IDE, где мы пишем программы для C#) и создаем консольное приложение.

Назовем его... ну просто word. Т.е. слово. Войдем в него и напишем вот такую программу.

-2

Запустим программу на исполнение. Она выведет следующее:

-3

Внизу - сообщение для нас, что консольное окно закроется при нажатии на любую клавишу. Нас интересует только подчеркнутое слово. Мы видим, что программа вывела то, что мы хотели.

Вот такой вот длины, вот такой величины!

Перепишем программу вот таким образом

-4

Здесь у нас появилась конструкция word.Length, которая выводит количество символов в слове word. Результат будет выведен следующий:

Поезд. Кол-во символов:5


Есть ли "возик" в "паровозик" ?

Раз уж взяли "паровозно-поездную" тему, найдем картинку на эту тему повеселее. Кстати, один из любимых мультов моего детства.

"Паровозик из Ромашково"
"Паровозик из Ромашково"

Ну и перепишем нашу программу следующим образом:

-6

Итак, здесь у нас появляется переменная s1="возик", а word у нас равна "Паровозик из Ромашково". Для проверки вхождения значения s1 в значение word мы используем функцию word.Contains(s1).
В результате получим:

Строка Паровозик из Ромашково содержит подстроку возик

Всё верно, "возик" у нас является частью слова "Паровозик", ну и частью значения переменной word="Паровозик из Ромашково". А если мы s1 сделаем равным "вагон", то получим

Строка Паровозик из Ромашково не содержит подстроку вагон

тоже всё верно, строка не имеет подстроки такого контента. А давайте верноем s1 значение "возик" и посмотрим, на каком месте значения word оно находится.
Перепишем программу следующим образом.

-7

У нас добавилась строка Console.Write(word.IndexOf(s1)); выводящая, с какого символа word начинается вывод значения s1 (если значение s1 не входит в значение word, выйдет -1). Результат будет следующим:

Паровозик из Ромашково . Кол-во символов:23
Строка Паровозик из Ромашково содержит подстроку возик
4

Первые строки результата - выполнение прошлых функций, сейчас нас интересует четверка в третьей строке. Это и есть выполнение Console.Write(word.IndexOf(s1)); , т.е. "возик" в "Паровозик из Ромашково" начинается с четвертого символа. Вы спросите, как с четвертого, если мы посчитаем на пальцах, то с пятого. Но подсчет начинается с нулевого символа, т.е. 0,1,2,3, и 4-й символ -"в", всё правильно.



Дайте ходу пароходу или Галя, у нас замена!


Ну и вот добрались мы до нашей любимой замены подстроки в строке. Давайте нашему паровозику из Ромашково заменим все буквы "а" на "о". Напишем следующее:

-8

Мы видим функцию Replace(), заменяющую все "а" на "о". Запустим на исполнение. Получим следующее:


Поровозик из Ромошково

Программа конечно отработала верно, всё что надо заменила, но результат получился ...ммм ... полная бессмыслица. Вот если бы... мы волшебным образом превратили паровозик в пароход. Да элементарно, вместо а и о давайте подставим в нашу функцию "возик" и "ход"..


-9

Запустим на исполнение. Получим:

Пароход из Ромашково

-10

Шикарно! На этой веселой ноте мы заканчиваем данную статью, посвященную строковым функциям в C#, но мы к ним обязательно вернемся. До новых встреч!