Демонстрация работы метода Split типа String

Материал из Вики ИТ мехмата ЮФУ
Версия от 13:02, 12 февраля 2013; Juliet (обсуждение | вклад) (Новая страница: «<source lang="pascal"> // Демонстрация работы метода Split типа String. // Воспользуйтесь подсказкой по то…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
// Демонстрация работы метода Split типа String.
// Воспользуйтесь подсказкой по точке для строковой переменной, 
// чтобы увидеть типы параметров и другие версии метода Split.

uses Arrays;                  // для использования процедуры WriteArray

const
  DefaultDelim = '*';                // разделитель, используемый при печати
  
/// Выводит на консоль массив строк words, разделенных строкой delim,
/// причем в начале и конце массива также ...
procedure PrintBoundedWords(words: array of string; 
                            delim: string := DefaultDelim);
begin
  write(delim);
  WriteArray(words, delim);
  writeln(delim);
end;

begin  
  var str := 'What is it? Nothing about politics, I hope!They don''t interest me.';
  WritelnFormat('{0}{1}{0}{2}', DefaultDelim, str, NewLine);
  
  // Split без параметров возвращает массив подстрок строки str, 
  // разделенных пробелом.
  var subs1 := str.Split();
  PrintBoundedWords(subs1); 
  
  // Данная версия Split возвращает массив подстрок строки str, 
  // разделенных символами, переданными в качестве параметров.
  var subs2 := str.Split(' ', '.', ',', '?', '!');
  PrintBoundedWords(subs2);
  
  var separators: array of char := (' ', '.', ',', '?', '!');
  var subs3 := str.Split(separators, System.StringSplitOptions.RemoveEmptyEntries);
  PrintBoundedWords(subs3); 
end.