Извлечение подстрок

C#:
Извлечение подстрок

Как:

C# делает извлечение подстрок из строки простым. Вот быстрый взгляд на то, как это делается с использованием метода Substring и среза строк с операторами диапазона.

string fullString = "Hello, World! Life is beautiful.";
// Использование Substring(startIndex, length)
string extracted1 = fullString.Substring(7, 5); // "World"

Console.WriteLine(extracted1); // Вывод: World

// Использование среза строк с оператором диапазона [..]
string extracted2 = fullString[13..24]; // "Life is beau"

Console.WriteLine(extracted2); // Вывод: Life is beau

Погружение

Подстроки - не новшество. Они были в таких языках, как C и Java, уже веками. Однако, C# усовершенствовал процесс с методами и функциями, которые ставят в приоритет читаемость и простоту использования.

Исторически программисты использовали циклы и точные расчеты индексов. Метод Substring в C# - это замечательное улучшение. Это просто — дайте ему начальный индекс и, опционально, длину, и он сделает срез за вас.

И это еще не всё. Начиная с C# 8.0, мы были представлены операторам диапазонов, как [..]. Они позволяют более естественно выражать срезы, особенно при использовании индексов относительно конца строки (обозначаемых оператором ^).

Альтернативы Substring включают методы, как Split, операции Regex или манипуляцию строками с LINQ. Выбор зависит от ситуации — вы можете разбить строку CSV, использовать Regex для определения шаблонов или выцеплять подстроки с помощью изысканных выражений LINQ.

С точки зрения реализации, строки в C# неизменяемы. Когда вы берете подстроку, вы не изменяете оригинал. Вместо этого, вы создаете новую строку, которая делит часть памяти с родителем — до того момента, как вы ее измените, и тогда она переходит в свое собственное размещение в памяти.

Смотрите также

Если вы хотите углубиться или изучить связанные темы, вот некоторые ресурсы: