Приведённая ниже документация сгенерирована на основе системной таблицы
system.functions.alphaTokens
a-z и A-Z и возвращает массив этих подстрок.
Синтаксис
splitByAlpha
Аргументы
s— Строка, которую нужно разбить.Stringmax_substrings— Необязательно. Еслиmax_substrings > 0, количество возвращаемых подстрок будет не большеmax_substrings, в противном случае функция вернёт максимально возможное число подстрок.Int64
s. Array(String)
Примеры
Пример использования
Query
Response
arrayStringConcat
array_to_string
Аргументы
arr— Массив, элементы которого нужно объединить.Array(T)separator— Необязательный параметр. Строка-разделитель. По умолчанию — пустая строка.const String
String
Примеры
Пример использования
Query
Response
extractAllGroupsVertical
extractAllGroups
Аргументы
s— Входная строка, из которой нужно выполнить извлечение.StringилиFixedStringregexp— Регулярное выражение для поиска совпадений.const Stringилиconst FixedString
Array(Array(String))
Примеры
Пример использования
Query
Response
ngrams
N.
Синтаксис
s— Входная строка.StringилиFixedStringN— Длина n-граммы.const UInt8/16/32/64
Array(String)
Примеры
Пример использования
Query
Response
reverseBySeparator
- reverseBySeparator(‘www.google.com’) returns ‘com.google.www’
- reverseBySeparator(‘a/b/c’, ’/’) returns ‘c/b/a’
- reverseBySeparator(‘x::y::z’, ’::’) returns ‘z::y::x’
string— Входная строка, порядок частей которой нужно обратить.Stringseparator— Строка-разделитель, используемая для выделения частей. Если не указана, используется ’.’ (точка). По умолчанию: ’.’String
String
Примеры
Базовое реверсирование домена
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
splitByChar
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)
Примеры
Пример использования
Query
Response
splitByNonAlpha
Параметр
splitby_max_substrings_includes_remaining_string (по умолчанию: 0) определяет, включается ли оставшаяся часть строки в последний элемент результирующего массива, если аргумент max_substrings > 0.s— Строка, которую нужно разделить.Stringmax_substrings— Необязательно. Еслиmax_substrings > 0, число возвращаемых подстрок не превыситmax_substrings, в противном случае функция вернет максимально возможное количество подстрок. Значение по умолчанию:0.Int64
s. Array(String)
Примеры
Пример использования
Query
Response
splitByRegexp
- совпадение непустого регулярного выражения находится в начале или в конце строки
- есть несколько последовательных совпадений непустого регулярного выражения
- исходная строка пуста, а регулярное выражение не пусто.
Параметр
splitby_max_substrings_includes_remaining_string (по умолчанию: 0) определяет, будет ли оставшаяся часть строки включена в последний элемент результирующего массива, если argument max_substrings > 0.regexp— Регулярное выражение. Константа.StringилиFixedStrings— Строка, которую нужно разделить.Stringmax_substrings— Необязательно. Еслиmax_substrings > 0, количество возвращаемых подстрок не будет превышатьmax_substrings, в противном случае функция вернёт столько подстрок, сколько возможно. Значение по умолчанию:0.Int64
s. Array(String)
Примеры
Пример использования
Query
Response
Query
Response
splitByString
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)
Примеры
Пример использования
Query
Response
Query
Response
splitByWhitespace
Настройка
splitby_max_substrings_includes_remaining_string (по умолчанию: 0) определяет, будет ли оставшаяся часть строки включена в последний элемент результирующего массива, если аргумент max_substrings > 0.s— Строка, которую нужно разделить.Stringmax_substrings— Необязательно. Еслиmax_substrings > 0, количество возвращаемых подстрок не будет превышатьmax_substrings, в противном случае функция вернет максимально возможное количество подстрок. Значение по умолчанию:0.Int64
s. Array(String)
Примеры
Пример использования
Query
Response
tokens
splitByNonAlphaразбивает строки по неалфавитно-цифровым ASCII-символам (см. также функцию splitByNonAlpha).splitByString(S)разбивает строки по заданным пользователем строкам-разделителямS(см. также функцию splitByString). Разделители можно указать с помощью необязательного параметра, например,tokens(value, 'splitByString', [', ', '; ', '\n', '\\']). Обратите внимание, что каждая строка может состоять из нескольких символов (', 'в примере). Если список разделителей явно не задан, по умолчанию используется один пробельный символ[' '].asciiCJKразбивает строки на токены, используя правила границ слов Unicode (аналогично UAX #29). ASCII-буквенно-цифровые символы и символы подчёркивания образуют токены с соединителями (:для букв,.и'для символов одного типа). Символы Unicode вне ASCII становятся односимвольными токенами.ngrams(N)разбивает строки наN-граммы одинаковой длины (см. также функцию ngrams). Длину n-граммы можно указать с помощью необязательного целочисленного параметра от 1 до 8, например,tokens(value, 'ngrams', 3). Если размер n-граммы явно не задан, по умолчанию используется 3.sparseGrams(min_length, max_length, min_cutoff_length)разбивает строки на n-граммы переменной длины: не менееmin_lengthи не болееmax_lengthсимволов включительно (см. также функцию sparseGrams). Если не указано иное, значенияmin_lengthиmax_lengthпо умолчанию равны 3 и 100. Если передан параметрmin_cutoff_length, возвращаются только n-граммы длиной не меньшеmin_cutoff_length. По сравнению сngrams(N), токенизаторsparseGramsсоздаёт N-граммы переменной длины, что позволяет гибче представлять исходный текст. Например,tokens(value, 'sparseGrams', 3, 5, 4)внутренне генерирует из входной строки 3-, 4- и 5-граммы, но возвращаются только 4- и 5-граммы.arrayне выполняет токенизацию, то есть каждое значение в строке является токеном (см. также функцию array).
splitByString, если токены не образуют префиксный код, скорее всего, вам нужно, чтобы при сопоставлении приоритет отдавался более длинным разделителям.
Для этого передавайте разделители в порядке убывания длины.
Например, с разделителями = ['%21', '%'] строка %21abc будет токенизирована как ['abc'], тогда как разделители = ['%', '%21'] дадут токенизацию ['21ac'] (что, вероятно, не то, что вам нужно).
Синтаксис
value— Входная строка.StringилиFixedStringtokenizer— Используемый токенизатор. Допустимые аргументы:splitByNonAlpha,splitByString,asciiCJK,ngrams,sparseGramsиarray. Необязательный параметр; если явно не задан, по умолчанию используетсяsplitByNonAlpha.const Stringn— Имеет значение только в том случае, если аргументtokenizerравенngrams: необязательный параметр, определяющий длину n-грамм. Если явно не задан, по умолчанию используется3.const UInt8separators— Имеет значение только в том случае, если аргументtokenizerравенsplit: необязательный параметр, определяющий строки-разделители. Если явно не задан, по умолчанию используется[' '].const Array(String)min_length— Имеет значение только в том случае, если аргументtokenizerравенsparseGrams: необязательный параметр, определяющий минимальную длину граммы; значение по умолчанию — 3.const UInt8max_length— Имеет значение только в том случае, если аргументtokenizerравенsparseGrams: необязательный параметр, определяющий максимальную длину граммы; значение по умолчанию — 100.const UInt8min_cutoff_length— Имеет значение только в том случае, если аргументtokenizerравенsparseGrams: необязательный параметр, определяющий минимальную длину отсечения.const UInt8
Array
Примеры
Токенизатор по умолчанию
Query
Response
Query
Response
tokensForLikePattern
tokens, эта функция учитывает семантику шаблонов LIKE
(например, подстановочные символы в начале и в конце) и применяет правила,
специфичные для токенизатора, чтобы выделять значимые токены для сопоставления с шаблоном.
Она поддерживает те же наборы аргументов, что и функция tokens; дополнительные
аргументы после tokenizer интерпретируются в соответствии с выбранным
токенизатором (например, n для ngrams, separators для splitByString
и min_length / max_length [/ min_cutoff_length] для sparseGrams).
Эта функция в первую очередь предназначена для отладки и тестирования
и используется внутри системы для анализа поведения токенизации шаблонов LIKE.
Синтаксис
value— Входная строка.StringилиFixedStringtokenizer— Используемый токенизатор. Допустимые аргументы:splitByNonAlpha,splitByString,asciiCJK,ngrams,sparseGramsиarray. Необязательный параметр; если он не задан явно, по умолчанию используетсяsplitByNonAlpha.const Stringn— Актуально только для аргументаtokenizerсо значениемngrams: необязательный параметр, определяющий длину n-грамм. Если он не задан явно, по умолчанию используется3.const UInt8separators— Актуально только для аргументаtokenizerсо значениемsplit: необязательный параметр, определяющий строки-разделители. Если он не задан явно, по умолчанию используется[' '].const Array(String)min_length— Актуально только для аргументаtokenizerсо значениемsparseGrams: необязательный параметр, определяющий минимальную длину граммы; по умолчанию — 3.const UInt8max_length— Актуально только для аргументаtokenizerсо значениемsparseGrams: необязательный параметр, определяющий максимальную длину граммы; по умолчанию — 100.const UInt8min_cutoff_length— Актуально только для аргументаtokenizerсо значениемsparseGrams: необязательный параметр, определяющий минимальную длину отсечения.const UInt8
Array
Примеры
Токенизатор по умолчанию
Query
Response