Демонстрация работы метода Split типа String — различия между версиями

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск
(Новая страница: «<source lang="pascal"> // Демонстрация работы метода Split типа String. // Воспользуйтесь подсказкой по то…»)
 
 
Строка 9: Строка 9:
 
   DefaultDelim = '*';                // разделитель, используемый при печати
 
   DefaultDelim = '*';                // разделитель, используемый при печати
 
    
 
    
/// Выводит на консоль массив строк words, разделенных строкой delim,
+
/// Выводит на консоль массив строк words, разделенных строкой delim.
/// причем в начале и конце массива также ...
+
/// При выводе массив также ограничивается строкой delim слева и справа.
 
procedure PrintBoundedWords(words: array of string;  
 
procedure PrintBoundedWords(words: array of string;  
 
                             delim: string := DefaultDelim);
 
                             delim: string := DefaultDelim);
Строка 33: Строка 33:
 
   PrintBoundedWords(subs2);
 
   PrintBoundedWords(subs2);
 
    
 
    
 +
  // Данная версия Split возвращает массив подстрок строки str,
 +
  // разделенных символами массива separators, при этом удаляя
 +
  // из результирующего массива пустые строки (второй параметр
 +
  // равен StringSplitOptions.RemoveEmptyEntries).
 
   var separators: array of char := (' ', '.', ',', '?', '!');
 
   var separators: array of char := (' ', '.', ',', '?', '!');
 
   var subs3 := str.Split(separators, System.StringSplitOptions.RemoveEmptyEntries);
 
   var subs3 := str.Split(separators, System.StringSplitOptions.RemoveEmptyEntries);

Текущая версия на 23:18, 12 февраля 2013

// Демонстрация работы метода Split типа String.
// Воспользуйтесь подсказкой по точке для строковой переменной, 
// чтобы увидеть типы параметров и другие версии метода Split.

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

const
  DefaultDelim = '*';                // разделитель, используемый при печати
  
/// Выводит на консоль массив строк words, разделенных строкой delim.
/// При выводе массив также ограничивается строкой 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);
  
  // Данная версия Split возвращает массив подстрок строки str, 
  // разделенных символами массива separators, при этом удаляя
  // из результирующего массива пустые строки (второй параметр
  // равен StringSplitOptions.RemoveEmptyEntries).
  var separators: array of char := (' ', '.', ',', '?', '!');
  var subs3 := str.Split(separators, System.StringSplitOptions.RemoveEmptyEntries);
  PrintBoundedWords(subs3); 
end.