Разделение является очень важной процедурой обработки строк, поскольку с его помощью нередко получают отдельныелексемы,составляющие исходную строку. Так, в программе ведения базы данных может возникнуть потребность разделить с помощью методаSplit() строку запроса "показать все остатки больше 100" на отдельные части, включая подстроки "показать" и "100". В процессе разделения исключаются разделители, поэтому в итоге получается пбдстрока "показать" (без начальных и конечных пробелов), а не подстрока " показать". Этот принцип демонстрируется

в приведенном ниже примере программы, где строки, содержащие такие бинарные математические операции, как 10 + 5, преобразуются в лексемы, а затем эти операции выполняются и выводится конечный результат.

// Преобразовать строки в лексемы.

using System;

class TokenizeDemo { static void Main() { string[] input = {

"100 + 19",

"100 / 3,3",

«_3    *    9..r

"100 - 87"

};

char[] seps = {' '};

for (int i=0; i < input.Length; i++)    {

// разделить строку на части

string[] parts = input[i].Split(seps);

Console.Write("Команда: ");

for (int j=0; j < parts.Length; j++)

Console.Write(parts[j] + " ");

Console.Write(", результат: "); double n = Double.Parse(parts[0]); double n2 = Double.Parse(parts[2]);

switch(parts[1]) { case

Console.WriteLine(n + n2); break; case

Console.WriteLine (n - n2); break; case

Console.WriteLine(n * n2); break; case "/":

Console.WriteLine(n / n2); break;

}

}

}

}

Вот к какому результату приводит выполнение этой программы.

Команда: 100 + 19,результат: 119

Команда: 100/ 3,3 ,результат: 30,3030303030303

Команда: -3*9, результат: -27

Команда: 100 - 87,результат: 13

Начиная с версии 4.0, в среде .NET Framework стали доступными следующие дополнительные формы методаJoin ().

public static string Join(stringseparator,params object[]values)public static string Join(stringseparator,IEnumerable[]values)public static string Join(stringseparator,IEnumerable[]values)

В первой форме рассматриваемого здесь метода возвращается строка, содержащая строковое представление объектов из массиваvalues.Во второй форме возвращается строка, содержащая результат сцепления коллекции строк, обозначаемой параметромvalues.И в третьей форме возвращается строка, содержащая результат сцепления строковых представлений объектов из коллекции, обозначаемой параметром values. Во всех трех случаях каждая предыдущая строка отделяется от последующей разделителем, определяемым параметром separator.

Заполнение и обрезка строк

Перейти на страницу:

Похожие книги