Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Фильтрация элементов массива. Функция Filter
Функция Filter является одним из вариантов поиска по образцу среди элементов массива. Здесь не требуется точного совпадения элемента и образца, достаточно, чтобы строка - образец содержалась в строке, заданной элементом массива. Поскольку совпадений может быть достаточно много, то результатом является массив отфильтрованных элементов. Некоторые детали будут пояснены при описании аргументов функции Filter. Вот ее синтаксис: Filter(sourcearray, match[, include[, compare]]) Ее параметры имеют следующий смысл:
В качестве результата возвращается массив отфильтрованных элементов. Наш пример будет представлять расширенный вариант уже приводившейся процедуры SplitAndJoin: Public Sub SplitAndJoin() 'В этой процедуре сложное предложение разделяется на простые 'А затем после обработки строка восстанавливается 'Здесь же демонстрируется фильтрация элементов массива 'Объявляем динамический массив Dim Simple() As String, i As Byte Dim Simple1() As String, Res As String Dim Simple2() As String 'Размерность массива Simple устанавливается автоматически 'в соответствии с размерностью массива, возвращаемого функцией Split Simple = Split(" А это пшеница, которая в темном чулане хранится в доме, " _ & " который построил Джек", ", ") 'Создаем новый массив ReDim Simple1(1 To UBound(Simple) + 2) Simple1(1) = " А это веселая птица - синица" Simple1(2) = " которая часто ворует пшеницу" For i = 3 To UBound(Simple1) Simple1(i) = Simple(i - 2) Next i 'Создаем строку из массива Simple1
Res = Join(Simple1, ", ") Debug.Print Res 'Фильтрация элементов массива Simple2 = Filter(Simple1, " котор") Res = Join(Simple2, ", ") Debug.Print Res
Simple2 = Filter(Simple1, " котор", False) Res = Join(Simple2, ", ") Debug.Print Res End Sub
Результаты отладочной печати: А это веселая птица - синица, которая часто ворует пшеницу, которая в темном чулане хранится в доме, который построил Джек которая часто ворует пшеницу, которая в темном чулане хранится в доме, который построил Джек А это веселая птица - синица
|