Основы офисного программирования и язык VBA

       

Фильтрация элементов массива. Функция Filter


Функция Filter является одним из вариантов поиска по образцу среди элементов массива. Здесь не требуется точного совпадения элемента и образца, достаточно, чтобы строка - образец содержалась в строке, заданной элементом массива. Поскольку совпадений может быть достаточно много, то результатом является массив отфильтрованных элементов. Некоторые детали будут пояснены при описании аргументов функции Filter. Вот ее синтаксис:

Filter(sourcearray, match[, include[, compare]])

Ее параметры имеют следующий смысл:

  • sourcearray - одномерный массив, элементы которого являются строками. Он может быть получен, например, как результат расщепления строки в массив.
  • match - образец поиска. Строка, вхождение которой ищется в каждом элементе исходного массива.
  • include - необязательный аргумент булевого типа. По умолчанию имеет значение True, означающее, что элементы, удовлетворяющие образцу, входят в результирующий массив. Если задано значение False, то результирующий массив составляется из элементов, не удовлетворяющих образцу.
  • compare - имеет обычный смысл.

В качестве результата возвращается массив отфильтрованных элементов.

Наш пример будет представлять расширенный вариант уже приводившейся процедуры SplitAndJoin:

Пример 8.3.

(html, txt)

Вот результаты отладочной печати:

А это веселая птица - синица, которая часто ворует пшеницу, которая в темном чулане хранится в доме, который построил Джек которая часто ворует пшеницу, которая в темном чулане хранится в доме, который построил Джек А это веселая птица - синица



Содержание раздела