Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Преобразование строки в массив. Функция Split






Предполагается, что исходная строка состоит из элементов (подстрок), разделенных специальными символами - разделителями. Функция Split возвращает одномерный массив из элементов строки. Синтаксис:

Split(expression[, delimiter[, limit[, compare]]])

Параметры:

  • expression - строковое выражение, результат которого задает строку - источник, состоящую из элементов и разделителей.
  • delimeter - строка, задающая последовательность символов, используемых в качестве разделителя. Если этот параметр опущен, то по умолчанию предполагается, что в роли разделителя выступает пробел.
  • limit - необязательный параметр, позволяющий ограничить число возвращаемых элементов. По умолчанию его значение равно -1, означающее выделение всех элементов.
  • compare - необязательный параметр, имеющий стандартный смысл во всех операциях над строками. По умолчанию предполагается двоичное побитовое сравнение.

Приведем пример, в котором сложноподчиненное предложение разделяется на простые предложения:

Public Sub SplitString()

'В этой процедуре сложное предложение разделяется на простые

'Объявляем динамический массив

Dim Simple() As String, i As Byte

 

'Размерность массива Simple устанавливается автоматически

'в соответствии с размерностью массива, возвращаемого функцией Split

Simple = Split(" А это пшеница, которая в темном чулане хранится в доме, " _

& " который построил Джек", ", ")

For i = LBound(Simple) To UBound(Simple)

Debug.Print Simple(i)

Next i

End Sub

 

В результате работы этой процедуры создается массив из трех элементов:

А это пшеница

которая в темном чулане хранится в доме

который построил Джек

 

Обратите внимание, для использования результатов работы функции Split создается динамический массив строк. О размерности его нет нужды заботиться, поскольку в момент присвоения ему результата выполнения Split, он заполняется элементами и у него появляется нижняя и верхняя граница. Далее с этим массивом можно работать обычным образом.

У функции Split, на наш взгляд, есть один недостаток. Хотя в роли разделителя может выступать последовательность символов, в нашем примере это пара символов " запятая, пробел", но нельзя использовать разные разделители элементов. В задачах подобного рода типичной является ситуация, когда элементы отделяются разными разделителями, возможно, окруженными пробелами. Позже мы покажем, как можно справиться с этой задачей.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.