Функции для разделения строк
Документация ниже генерируется из системной таблицы system.functions.
alphaTokens
Введена в версии v1.1
Выбирает подстроки из последовательностей подряд идущих байт в диапазонах a-z и A-Z и возвращает массив этих подстрок.
Синтаксис
Псевдонимы: splitByAlpha
Аргументы
s— строка, которую нужно разбить.Stringmax_substrings— необязательный параметр. Еслиmax_substrings > 0, количество возвращаемых подстрок не будет превышатьmax_substrings, в противном случае функция вернёт максимально возможное количество подстрок.Int64
Возвращаемое значение
Возвращает массив полученных подстрок s. Array(String)
Примеры
Пример использования
arrayStringConcat
Добавлено в: v1.1
Объединяет строковые представления значений, перечисленных в массиве, с указанным разделителем. Разделитель является необязательным параметром, по умолчанию — пустая строка.
Синтаксис
Аргументы
arr— Массив для конкатенации.Array(T)separator— Необязательный параметр. Строка-разделитель. По умолчанию — пустая строка.const String
Возвращаемое значение
Возвращает конкатенированную строку. String
Примеры
Пример использования
extractAllGroupsVertical
Впервые появилась в: v20.5
Находит все группы в строке с использованием регулярного выражения и возвращает массив массивов, где каждый внутренний массив содержит фрагменты, соответствующие каждой группе, упорядоченные по их появлению во входной строке.
Синтаксис
Псевдонимы: extractAllGroups
Аргументы
s— Входная строка, из которой выполняется извлечение.StringилиFixedStringregexp— Регулярное выражение для сопоставления.const Stringилиconst FixedString
Возвращаемое значение
Возвращает массив массивов, где каждый внутренний массив содержит группы захвата для одного совпадения. Каждое совпадение возвращает массив с элементами, соответствующими группам захвата в регулярном выражении (группа 1, группа 2 и т. д.). Если совпадения не найдены, возвращается пустой массив. Array(Array(String))
Примеры
Пример использования
ngrams
Появилась в версии v21.11
Разбивает строку в кодировке UTF-8 на n-граммы длиной N.
Синтаксис
Аргументы
s— входная строка.StringилиFixedStringN— длина n-граммы.const UInt8/16/32/64
Возвращаемое значение
Возвращает массив n-грамм. Array(String)
Примеры
Пример использования
splitByChar
Введена в версии v1.1
Разбивает строку на массив подстрок по указанному константному разделителю separator, который должен состоять ровно из одного символа.
Пустые подстроки могут присутствовать, если разделитель встречается в начале или конце строки или если есть несколько последовательных разделителей.
Параметр splitby_max_substrings_includes_remaining_string (по умолчанию: 0) определяет, будет ли оставшаяся часть строки включена в последний элемент результирующего массива, когда аргумент max_substrings > 0.
Пустые подстроки могут присутствовать, когда:
- Разделитель встречается в начале или конце строки
- Есть несколько последовательных разделителей
- Исходная строка
sпуста
Синтаксис
Аргументы
separator— Разделитель должен быть однобайтовым символом.Strings— Строка, которую нужно разбить.Stringmax_substrings— Необязательный аргумент. Еслиmax_substrings > 0, возвращаемый массив будет содержать не болееmax_substringsподстрок, в противном случае функция вернёт максимально возможное количество подстрок. Значение по умолчанию —0.Int64
Возвращаемое значение
Возвращает массив полученных подстрок. Array(String)
Примеры
Пример использования
splitByNonAlpha
Введена в версии v21.9
Разбивает строку, разделённую пробельными символами и знаками пунктуации, на массив подстрок.
Настройка splitby_max_substrings_includes_remaining_string (по умолчанию: 0) определяет, включается ли оставшаяся часть строки в последний элемент результирующего массива, когда аргумент max_substrings > 0.
Синтаксис
Аргументы
s— строка для разбиения.Stringmax_substrings— необязательный параметр. Еслиmax_substrings > 0, количество возвращаемых подстрок не будет превышатьmax_substrings, в противном случае функция вернёт максимально возможное количество подстрок. Значение по умолчанию:0.Int64
Возвращаемое значение
Возвращает массив выбранных подстрок строки s. Array(String)
Примеры
Пример использования
splitByRegexp
Добавлена в версии v21.6
Разбивает строку, разделённую с помощью заданного регулярного выражения, на массив подстрок. Если заданное регулярное выражение пустое, строка будет разбита на массив отдельных символов. Если соответствий регулярному выражению не найдено, строка не будет разбита.
Пустые подстроки могут появляться в следующих случаях:
- в начале или в конце строки найдено непустое соответствие регулярному выражению
- найдено несколько последовательных непустых соответствий регулярному выражению
- исходная строка пуста, а регулярное выражение не пустое.
Параметр splitby_max_substrings_includes_remaining_string (по умолчанию: 0) определяет, будет ли оставшаяся строка включена в последний элемент результирующего массива, когда аргумент max_substrings > 0.
Синтаксис
Аргументы
regexp— регулярное выражение. Константа.StringилиFixedStrings— строка для разбиения.Stringmax_substrings— необязательный параметр. Еслиmax_substrings > 0, количество возвращаемых подстрок не превышаетmax_substrings, в противном случае функция вернёт как можно больше подстрок. Значение по умолчанию:0.Int64
Возвращаемое значение
Возвращает массив выбранных подстрок строки s. Array(String)
Примеры
Пример использования
Пустое регулярное выражение
splitByString
Введена в версии v1.1
Разбивает строку с константным разделителем separator, состоящим из нескольких символов, на массив подстрок.
Если строка separator пуста, строка s будет разбита на массив отдельных символов.
Пустые подстроки могут появляться, когда:
- Непустой разделитель находится в начале или в конце строки
- Есть несколько подряд идущих непустых разделителей
- Исходная строка
sпуста, а разделитель непустой
Параметр splitby_max_substrings_includes_remaining_string (по умолчанию: 0) определяет, включается ли оставшаяся часть строки в последний элемент результирующего массива, когда аргумент max_substrings > 0.
Синтаксис
Аргументы
separator— разделитель.Strings— строка для разбиения.Stringmax_substrings— необязательный аргумент. Еслиmax_substrings > 0, количество возвращаемых подстрок не превышаетmax_substrings, в противном случае функция вернёт максимально возможное количество подстрок. Значение по умолчанию:0.Int64
Возвращаемое значение
Возвращает массив выбранных подстрок строки s Array(String)
Примеры
Пример использования
Пустой разделитель
splitByWhitespace
Добавлено в: v21.9
Разбивает строку, разделённую пробельными символами, на массив подстрок.
Настройка splitby_max_substrings_includes_remaining_string (по умолчанию: 0) определяет, должна ли оставшаяся часть строки включаться в последний элемент результирующего массива, когда max_substrings > 0.
Синтаксис
Аргументы
s— Строка для разделения.Stringmax_substrings— Необязательный аргумент. Когдаmax_substrings > 0, количество возвращаемых подстрок не превышаетmax_substrings, в противном случае функция вернёт максимально возможное количество подстрок. Значение по умолчанию:0.Int64
Возвращаемое значение
Возвращает массив полученных подстрок s. Array(String)
Примеры
Пример использования
tokens
Впервые появилась в версии: v21.11
Разбивает строку на токены с использованием заданного токенайзера. Токенайзер по умолчанию использует небуквенно-цифровые ASCII-символы в качестве разделителей.
В случае токенайзера split, если токены не образуют префиксный код, вам, вероятно, нужно, чтобы при выборе разделителей приоритет отдавался более длинным.
Для этого задавайте разделители в порядке убывания их длины.
Например, при separators = ['%21', '%'] строка %21abc будет разбита на токены как ['abc'], тогда как при separators = ['%', '%21'] она будет разбита на токены как ['21ac'] (что, скорее всего, не то, что вам нужно).
Синтаксис
Аргументы
value— Входная строка.StringилиFixedStringtokenizer— Токенизатор, который будет использоваться. Допустимые значения:splitByNonAlpha,ngrams,splitByString,arrayиsparseGrams. Необязательный параметр, по умолчанию (если явно не задан) используетсяsplitByNonAlpha.const Stringngrams— Имеет значение только если аргументtokenizerравенngrams: необязательный параметр, определяющий длину n-грамм. Должен быть в диапазоне от 1 до 8. Если явно не задан, по умолчанию равен3.const UInt8separators— Имеет значение только если аргументtokenizerравенsplit: необязательный параметр, определяющий строки-разделители. Если явно не задан, по умолчанию используется[' '].const Array(String)
Возвращаемое значение
Возвращает массив токенов, полученных из входной строки. Array
Примеры
Токенизатор по умолчанию
Токенизатор n-грамм