> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Документация по функциям разделения строк

# Функции разделения строк

export const DeprecatedBadge = () => {
  return <div className="deprecatedBadge">
            <div className="deprecatedIcon">
            <svg width="14" height="10" viewBox="0 0 14 10" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M13 0H1C0.734784 0 0.48043 0.105357 0.292893 0.292893C0.105357 0.48043 0 0.734784 0 1V2.5C0 2.76522 0.105357 3.01957 0.292893 3.20711C0.48043 3.39464 0.734784 3.5 1 3.5V9C1 9.26522 1.10536 9.51957 1.29289 9.70711C1.48043 9.89464 1.73478 10 2 10H12C12.2652 10 12.5196 9.89464 12.7071 9.70711C12.8946 9.51957 13 9.26522 13 9V3.5C13.2652 3.5 13.5196 3.39464 13.7071 3.20711C13.8946 3.01957 14 2.76522 14 2.5V1C14 0.734784 13.8946 0.48043 13.7071 0.292893C13.5196 0.105357 13.2652 0 13 0ZM12 9H2V3.5H12V9ZM13 2.5H1V1H13V2.5ZM5 5.5C5 5.36739 5.05268 5.24021 5.14645 5.14645C5.24021 5.05268 5.36739 5 5.5 5H8.5C8.63261 5 8.75979 5.05268 8.85355 5.14645C8.94732 5.24021 9 5.36739 9 5.5C9 5.63261 8.94732 5.75979 8.85355 5.85355C8.75979 5.94732 8.63261 6 8.5 6H5.5C5.36739 6 5.24021 5.94732 5.14645 5.85355C5.05268 5.75979 5 5.63261 5 5.5Z" fill="currentColor" />
            </svg>
        </div>
            Deprecated feature
        </div>;
};

<Note>
  Приведённая ниже документация сгенерирована на основе системной таблицы `system.functions`.
</Note>

{/*AUTOGENERATED_START*/}

<div id="alphaTokens">
  ## alphaTokens
</div>

Добавленный в: v1.1.0

Выделяет подстроки из последовательных байтов в диапазонах `a-z` и `A-Z` и возвращает массив этих подстрок.

**Синтаксис**

```sql theme={null}
alphaTokens(s[, max_substrings])
```

**Псевдонимы**: `splitByAlpha`

**Аргументы**

* `s` — Строка, которую нужно разбить. [`String`](/ru/reference/data-types/string)
* `max_substrings` — Необязательно. Если `max_substrings > 0`, количество возвращаемых подстрок будет не больше `max_substrings`, в противном случае функция вернёт максимально возможное число подстрок. [`Int64`](/ru/reference/data-types/int-uint)

**Возвращаемое значение**

Возвращает массив полученных подстрок строки `s`. [`Array(String)`](/ru/reference/data-types/array)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT alphaTokens('abca1abc');
```

```response title=Response theme={null}
┌─alphaTokens('abca1abc')─┐
│ ['abca','abc']          │
└─────────────────────────┘
```

<div id="arrayStringConcat">
  ## arrayStringConcat
</div>

Добавленный в: v1.1.0

Объединяет строковые представления значений, перечисленных в массиве, используя указанный разделитель; это необязательный параметр, который по умолчанию равен пустой строке.

**Синтаксис**

```sql theme={null}
arrayStringConcat(arr[, separator])
```

**Псевдонимы**: `array_to_string`

**Аргументы**

* `arr` — Массив, элементы которого нужно объединить. [`Array(T)`](/ru/reference/data-types/array)
* `separator` — Необязательный параметр. Строка-разделитель. По умолчанию — пустая строка. [`const String`](/ru/reference/data-types/string)

**Возвращаемое значение**

Возвращает конкатенированную строку. [`String`](/ru/reference/data-types/string)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT arrayStringConcat(['12/05/2021', '12:50:00'], ' ') AS DateString;
```

```response title=Response theme={null}
┌─DateString──────────┐
│ 12/05/2021 12:50:00 │
└─────────────────────┘
```

<div id="extractAllGroupsVertical">
  ## extractAllGroupsVertical
</div>

Добавленный в: v20.5.0

Находит все группы в строке с помощью регулярного выражения и возвращает массив массивов, в котором каждый массив содержит совпавшие фрагменты из всех групп, сгруппированные по порядку их появления во входной строке.

**Синтаксис**

```sql theme={null}
extractAllGroupsVertical(s, regexp)
```

**Псевдонимы**: `extractAllGroups`

**Аргументы**

* `s` — Входная строка, из которой нужно выполнить извлечение. [`String`](/ru/reference/data-types/string) или [`FixedString`](/ru/reference/data-types/fixedstring)
* `regexp` — Регулярное выражение для поиска совпадений. [`const String`](/ru/reference/data-types/string) или [`const FixedString`](/ru/reference/data-types/fixedstring)

**Возвращаемое значение**

Возвращает массив массивов, где каждый внутренний массив содержит группы захвата из одного совпадения. Для каждого совпадения формируется массив с элементами, соответствующими группам захвата в регулярном выражении (группа 1, группа 2 и т. д.). Если совпадений не найдено, возвращается пустой массив. [`Array(Array(String))`](/ru/reference/data-types/array)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
WITH '< Server: nginx
< Date: Tue, 22 Jan 2019 00:26:14 GMT
< Content-Type: text/html; charset=UTF-8
< Connection: keep-alive
' AS s
SELECT extractAllGroupsVertical(s, '< ([\\w\\-]+): ([^\\r\\n]+)');
```

```response title=Response theme={null}
[['Server','nginx'],['Date','Tue, 22 Jan 2019 00:26:14 GMT'],['Content-Type','text/html; charset=UTF-8'],['Connection','keep-alive']]
```

<div id="ngrams">
  ## ngrams
</div>

Добавленный в: v21.11.0

Разбивает строку в кодировке UTF-8 на n-граммы длиной `N`.

**Синтаксис**

```sql theme={null}
ngrams(s, N)
```

**Аргументы**

* `s` — Входная строка. [`String`](/ru/reference/data-types/string) или [`FixedString`](/ru/reference/data-types/fixedstring)
* `N` — Длина n-граммы. [`const UInt8/16/32/64`](/ru/reference/data-types/int-uint)

**Возвращаемое значение**

Возвращает массив n-грамм. [`Array(String)`](/ru/reference/data-types/array)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT ngrams('ClickHouse', 3);
```

```response title=Response theme={null}
['Cli','lic','ick','ckH','kHo','Hou','ous','use']
```

<div id="reverseBySeparator">
  ## reverseBySeparator
</div>

Добавленный в: v26.2.0

Меняет порядок подстрок в строке, разделённых указанным разделителем, на обратный.
Эта функция разбивает строку по разделителю, обращает порядок получившихся частей
и снова объединяет их с помощью того же разделителя. Это полезно при разборе доменных имён,
путей к файлам и других иерархических данных, когда нужно обратить порядок компонентов.

Примеры:

* reverseBySeparator('[www.google.com](http://www.google.com)') returns 'com.google.www'
* reverseBySeparator('a/b/c', '/') returns 'c/b/a'
* reverseBySeparator('x::y::z', '::') returns 'z::y::x'

**Синтаксис**

```sql theme={null}
reverseBySeparator(string[, separator])
```

**Аргументы**

* `string` — Входная строка, порядок частей которой нужно обратить. [`String`](/ru/reference/data-types/string)
* `separator` — Строка-разделитель, используемая для выделения частей. Если не указана, используется '.' (точка). По умолчанию: '.' [`String`](/ru/reference/data-types/string)

**Возвращаемое значение**

Возвращает строку с подстроками, расположенными в порядке справа налево относительно исходной строки и соединёнными тем же разделителем. [`String`](/ru/reference/data-types/string)

**Примеры**

**Базовое реверсирование домена**

```sql title=Query theme={null}
SELECT reverseBySeparator('www.google.com')
```

```response title=Response theme={null}
'com.google.www'
```

**Обращение пути**

```sql title=Query theme={null}
SELECT reverseBySeparator('a/b/c', '/')
```

```response title=Response theme={null}
'c/b/a'
```

**Произвольный разделитель**

```sql title=Query theme={null}
SELECT reverseBySeparator('x::y::z', '::')
```

```response title=Response theme={null}
'z::y::x'
```

**Особый случай с точками**

```sql title=Query theme={null}
SELECT reverseBySeparator('.a.b.', '.')
```

```response title=Response theme={null}
'.b.a.'
```

**Один элемент**

```sql title=Query theme={null}
SELECT reverseBySeparator('single')
```

```response title=Response theme={null}
'single'
```

**Пустой разделитель**

```sql title=Query theme={null}
SELECT reverseBySeparator('abcde', '')
```

```response title=Response theme={null}
'edcba'
```

<div id="splitByChar">
  ## splitByChar
</div>

Добавленный в: v1.1.0

Разбивает строку по указанному постоянному разделителю `separator`, представляющему собой строку длиной ровно в один символ, на массив подстрок.
Пустые подстроки могут появляться, если разделитель находится в начале или в конце строки, либо если подряд встречается несколько разделителей.

<Note>
  Параметр [`splitby_max_substrings_includes_remaining_string`](/ru/reference/settings/session-settings#splitby_max_substrings_includes_remaining_string) (по умолчанию: `0`) определяет, будет ли оставшаяся часть строки включена в последний элемент результирующего массива, если аргумент `max_substrings > 0`.
</Note>

Пустые подстроки могут появляться в следующих случаях:

* Разделитель находится в начале или в конце строки
* Подряд встречается несколько разделителей
* Исходная строка `s` пуста

**Синтаксис**

```sql theme={null}
splitByChar(separator, s[, max_substrings])
```

**Аргументы**

* `separator` — Разделитель должен быть однобайтовым символом. [`String`](/ru/reference/data-types/string)
* `s` — Строка, которую нужно разделить. [`String`](/ru/reference/data-types/string)
* `max_substrings` — Необязательно. Если `max_substrings > 0`, возвращаемый массив будет содержать не более `max_substrings` подстрок; в противном случае функция вернет максимально возможное количество подстрок. Значение по умолчанию — `0`. [`Int64`](/ru/reference/data-types/int-uint)

**Возвращаемое значение**

Возвращает массив подстрок. [`Array(String)`](/ru/reference/data-types/array)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT splitByChar(',', '1,2,3,abcde');
```

```response title=Response theme={null}
┌─splitByChar(⋯2,3,abcde')─┐
│ ['1','2','3','abcde']    │
└──────────────────────────┘
```

<div id="splitByNonAlpha">
  ## splitByNonAlpha
</div>

Добавленный в: v21.9.0

Разбивает строку по пробельным символам и знакам пунктуации на массив подстрок.

<Note>
  Параметр [`splitby_max_substrings_includes_remaining_string`](/ru/reference/settings/session-settings#splitby_max_substrings_includes_remaining_string) (по умолчанию: `0`) определяет, включается ли оставшаяся часть строки в последний элемент результирующего массива, если аргумент `max_substrings > 0`.
</Note>

**Синтаксис**

```sql theme={null}
splitByNonAlpha(s[, max_substrings])
```

**Аргументы**

* `s` — Строка, которую нужно разделить. [`String`](/ru/reference/data-types/string)
* `max_substrings` — Необязательно. Если `max_substrings > 0`, число возвращаемых подстрок не превысит `max_substrings`, в противном случае функция вернет максимально возможное количество подстрок. Значение по умолчанию: `0`. [`Int64`](/ru/reference/data-types/int-uint)

**Возвращаемое значение**

Возвращает массив подстрок, полученных из `s`. [`Array(String)`](/ru/reference/data-types/array)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT splitByNonAlpha('user@domain.com');
```

```response title=Response theme={null}
['user','domain','com']
```

<div id="splitByRegexp">
  ## splitByRegexp
</div>

Добавленный в: v21.6.0

Разбивает строку по заданному регулярному выражению на массив подстрок.
Если заданное регулярное выражение пустое, строка будет разбита на массив отдельных символов.
Если для регулярного выражения не найдено ни одного совпадения, строка не будет разбита.

Пустые подстроки могут появляться в следующих случаях:

* совпадение непустого регулярного выражения находится в начале или в конце строки
* есть несколько последовательных совпадений непустого регулярного выражения
* исходная строка пуста, а регулярное выражение не пусто.

<Note>
  Параметр [`splitby_max_substrings_includes_remaining_string`](/ru/reference/settings/session-settings#splitby_max_substrings_includes_remaining_string) (по умолчанию: `0`) определяет, будет ли оставшаяся часть строки включена в последний элемент результирующего массива, если argument `max_substrings > 0`.
</Note>

**Синтаксис**

```sql theme={null}
splitByRegexp(regexp, s[, max_substrings])
```

**Аргументы**

* `regexp` — Регулярное выражение. Константа. [`String`](/ru/reference/data-types/string) или [`FixedString`](/ru/reference/data-types/fixedstring)
* `s` — Строка, которую нужно разделить. [`String`](/ru/reference/data-types/string)
* `max_substrings` — Необязательно. Если `max_substrings > 0`, количество возвращаемых подстрок не будет превышать `max_substrings`, в противном случае функция вернёт столько подстрок, сколько возможно. Значение по умолчанию: `0`. [`Int64`](/ru/reference/data-types/int-uint)

**Возвращаемое значение**

Возвращает массив полученных подстрок строки `s`. [`Array(String)`](/ru/reference/data-types/array)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT splitByRegexp('\\d+', 'a12bc23de345f');
```

```response title=Response theme={null}
┌─splitByRegex⋯c23de345f')─┐
│ ['a12bc23de345f']        │
└──────────────────────────┘
```

**Пустое регулярное выражение**

```sql title=Query theme={null}
SELECT splitByRegexp('', 'abcde');
```

```response title=Response theme={null}
┌─splitByRegexp('', 'abcde')─┐
│ ['a','b','c','d','e']      │
└────────────────────────────┘
```

<div id="splitByString">
  ## splitByString
</div>

Добавленный в: v1.1.0

Разбивает строку на массив подстрок, используя в качестве постоянного `separator` последовательность из нескольких символов.
Если строка `separator` пуста, строка `s` разбивается на массив отдельных символов.

Пустые подстроки могут появляться в следующих случаях:

* Непустой разделитель находится в начале или в конце строки
* Идут подряд несколько непустых разделителей
* Исходная строка `s` пуста, а разделитель непустой

<Note>
  Настройка [`splitby_max_substrings_includes_remaining_string`](/ru/reference/settings/session-settings#splitby_max_substrings_includes_remaining_string) (по умолчанию: `0`) определяет, включается ли оставшаяся часть строки в последний элемент результирующего массива, если аргумент `max_substrings > 0`.
</Note>

**Синтаксис**

```sql theme={null}
splitByString(separator, s[, max_substrings])
```

**Аргументы**

* `separator` — Разделитель. [`String`](/ru/reference/data-types/string)
* `s` — Строка, которую нужно разделить. [`String`](/ru/reference/data-types/string)
* `max_substrings` — Необязательный параметр. Если `max_substrings > 0`, число возвращаемых подстрок не будет превышать `max_substrings`; в противном случае функция вернёт максимально возможное число подстрок. Значение по умолчанию: `0`. [`Int64`](/ru/reference/data-types/int-uint)

**Возвращаемое значение**

Возвращает массив выбранных подстрок строки `s` [`Array(String)`](/ru/reference/data-types/array)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT splitByString(', ', '1, 2 3, 4,5, abcde');
```

```response title=Response theme={null}
┌─splitByStrin⋯4,5, abcde')─┐
│ ['1','2 3','4,5','abcde'] │
└───────────────────────────┘
```

**Пустой разделитель**

```sql title=Query theme={null}
SELECT splitByString('', 'abcde');
```

```response title=Response theme={null}
┌─splitByString('', 'abcde')─┐
│ ['a','b','c','d','e']      │
└────────────────────────────┘
```

<div id="splitByWhitespace">
  ## splitByWhitespace
</div>

Добавленный в: v21.9.0

Разбивает строку, разделённую пробельными символами, на массив подстрок.

<Note>
  Настройка [`splitby_max_substrings_includes_remaining_string`](/ru/reference/settings/session-settings#splitby_max_substrings_includes_remaining_string) (по умолчанию: `0`) определяет, будет ли оставшаяся часть строки включена в последний элемент результирующего массива, если аргумент `max_substrings > 0`.
</Note>

**Синтаксис**

```sql theme={null}
splitByWhitespace(s[, max_substrings])
```

**Аргументы**

* `s` — Строка, которую нужно разделить. [`String`](/ru/reference/data-types/string)
* `max_substrings` — Необязательно. Если `max_substrings > 0`, количество возвращаемых подстрок не будет превышать `max_substrings`, в противном случае функция вернет максимально возможное количество подстрок. Значение по умолчанию: `0`. [`Int64`](/ru/reference/data-types/int-uint)

**Возвращаемое значение**

Возвращает массив полученных подстрок строки `s`. [`Array(String)`](/ru/reference/data-types/array)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT splitByWhitespace('  1!  a,  b.  ');
```

```response title=Response theme={null}
['1!','a,','b.']
```

<div id="tokens">
  ## tokens
</div>

Добавленный в: v21.11.0

Разбивает строку на токены с помощью указанного токенизатора.

Доступные токенизаторы:

* `splitByNonAlpha` разбивает строки по неалфавитно-цифровым ASCII-символам (см. также функцию [splitByNonAlpha](/ru/reference/functions/regular-functions/splitting-merging-functions#splitByNonAlpha)).
* `splitByString(S)` разбивает строки по заданным пользователем строкам-разделителям `S` (см. также функцию [splitByString](/ru/reference/functions/regular-functions/splitting-merging-functions#splitByString)). Разделители можно указать с помощью необязательного параметра, например, `tokens(value, 'splitByString', [', ', '; ', '\n', '\\'])`. Обратите внимание, что каждая строка может состоять из нескольких символов (`', '` в примере). Если список разделителей явно не задан, по умолчанию используется один пробельный символ `[' ']`.
* `asciiCJK` разбивает строки на токены, используя правила границ слов Unicode (аналогично UAX #29). ASCII-буквенно-цифровые символы и символы подчёркивания образуют токены с соединителями (`:` для букв, `.` и `'` для символов одного типа). Символы Unicode вне ASCII становятся односимвольными токенами.
* `ngrams(N)` разбивает строки на `N`-граммы одинаковой длины (см. также функцию [ngrams](/ru/reference/functions/regular-functions/splitting-merging-functions#ngrams)). Длину n-граммы можно указать с помощью необязательного целочисленного параметра от 1 до 8, например, `tokens(value, 'ngrams', 3)`. Если размер n-граммы явно не задан, по умолчанию используется 3.
* `sparseGrams(min_length, max_length, min_cutoff_length)` разбивает строки на n-граммы переменной длины: не менее `min_length` и не более `max_length` символов включительно (см. также функцию [sparseGrams](/ru/reference/functions/regular-functions/string-functions#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](/ru/reference/functions/regular-functions/array-functions#array)).

В случае с токенизатором `splitByString`, если токены не образуют [префиксный код](https://en.wikipedia.org/wiki/Prefix_code), скорее всего, вам нужно, чтобы при сопоставлении приоритет отдавался более длинным разделителям.
Для этого передавайте разделители в порядке убывания длины.
Например, с разделителями = `['%21', '%']` строка `%21abc` будет токенизирована как `['abc']`, тогда как разделители = `['%', '%21']` дадут токенизацию `['21ac']` (что, вероятно, не то, что вам нужно).

**Синтаксис**

```sql theme={null}
tokens(value) -- токенизатор 'splitByNonAlpha'
tokens(value, 'splitByNonAlpha')
tokens(value, 'splitByString'[, separators])
tokens(value, 'asciiCJK')
tokens(value, 'ngrams'[, n])
tokens(value, 'sparseGrams'[, min_length, max_length[, min_cutoff_length]])
tokens(value, 'array')
```

**Аргументы**

* `value` — Входная строка. [`String`](/ru/reference/data-types/string) или [`FixedString`](/ru/reference/data-types/fixedstring)
* `tokenizer` — Используемый токенизатор. Допустимые аргументы: `splitByNonAlpha`, `splitByString`, `asciiCJK`, `ngrams`, `sparseGrams` и `array`. Необязательный параметр; если явно не задан, по умолчанию используется `splitByNonAlpha`. [`const String`](/ru/reference/data-types/string)
* `n` — Имеет значение только в том случае, если аргумент `tokenizer` равен `ngrams`: необязательный параметр, определяющий длину n-грамм. Если явно не задан, по умолчанию используется `3`. [`const UInt8`](/ru/reference/data-types/int-uint)
* `separators` — Имеет значение только в том случае, если аргумент `tokenizer` равен `split`: необязательный параметр, определяющий строки-разделители. Если явно не задан, по умолчанию используется `[' ']`. [`const Array(String)`](/ru/reference/data-types/array)
* `min_length` — Имеет значение только в том случае, если аргумент `tokenizer` равен `sparseGrams`: необязательный параметр, определяющий минимальную длину граммы; значение по умолчанию — 3. [`const UInt8`](/ru/reference/data-types/int-uint)
* `max_length` — Имеет значение только в том случае, если аргумент `tokenizer` равен `sparseGrams`: необязательный параметр, определяющий максимальную длину граммы; значение по умолчанию — 100. [`const UInt8`](/ru/reference/data-types/int-uint)
* `min_cutoff_length` — Имеет значение только в том случае, если аргумент `tokenizer` равен `sparseGrams`: необязательный параметр, определяющий минимальную длину отсечения. [`const UInt8`](/ru/reference/data-types/int-uint)

**Возвращаемое значение**

Возвращает массив токенов, полученный из входной строки. [`Array`](/ru/reference/data-types/array)

**Примеры**

**Токенизатор по умолчанию**

```sql title=Query theme={null}
SELECT tokens('test1,;\\\\ test2,;\\\\ test3,;\\\\   test4') AS tokens;
```

```response title=Response theme={null}
['test1','test2','test3','test4']
```

**Токенизатор n-грамм**

```sql title=Query theme={null}
SELECT tokens('abc def', 'ngrams', 3) AS tokens;
```

```response title=Response theme={null}
['abc','bc ','c d',' de','def']
```

<div id="tokensForLikePattern">
  ## tokensForLikePattern
</div>

Добавленный в: v26.3.0

Разбивает строку шаблона LIKE на токены с помощью указанного токенизатора.

В отличие от функции `tokens`, эта функция учитывает семантику шаблонов LIKE
(например, подстановочные символы в начале и в конце) и применяет правила,
специфичные для токенизатора, чтобы выделять значимые токены для сопоставления с шаблоном.

Она поддерживает те же наборы аргументов, что и функция `tokens`; дополнительные
аргументы после `tokenizer` интерпретируются в соответствии с выбранным
токенизатором (например, `n` для `ngrams`, `separators` для `splitByString`
и `min_length` / `max_length` \[/ `min_cutoff_length`] для `sparseGrams`).

Эта функция в первую очередь предназначена для отладки и тестирования
и используется внутри системы для анализа поведения токенизации шаблонов LIKE.

**Синтаксис**

```sql theme={null}
tokensForLikePattern(value[, tokenizer[, tokenizer_specific_arguments...]])
```

**Аргументы**

* `value` — Входная строка. [`String`](/ru/reference/data-types/string) или [`FixedString`](/ru/reference/data-types/fixedstring)
* `tokenizer` — Используемый токенизатор. Допустимые аргументы: `splitByNonAlpha`, `splitByString`, `asciiCJK`, `ngrams`, `sparseGrams` и `array`. Необязательный параметр; если он не задан явно, по умолчанию используется `splitByNonAlpha`. [`const String`](/ru/reference/data-types/string)
* `n` — Актуально только для аргумента `tokenizer` со значением `ngrams`: необязательный параметр, определяющий длину n-грамм. Если он не задан явно, по умолчанию используется `3`. [`const UInt8`](/ru/reference/data-types/int-uint)
* `separators` — Актуально только для аргумента `tokenizer` со значением `split`: необязательный параметр, определяющий строки-разделители. Если он не задан явно, по умолчанию используется `[' ']`. [`const Array(String)`](/ru/reference/data-types/array)
* `min_length` — Актуально только для аргумента `tokenizer` со значением `sparseGrams`: необязательный параметр, определяющий минимальную длину граммы; по умолчанию — 3. [`const UInt8`](/ru/reference/data-types/int-uint)
* `max_length` — Актуально только для аргумента `tokenizer` со значением `sparseGrams`: необязательный параметр, определяющий максимальную длину граммы; по умолчанию — 100. [`const UInt8`](/ru/reference/data-types/int-uint)
* `min_cutoff_length` — Актуально только для аргумента `tokenizer` со значением `sparseGrams`: необязательный параметр, определяющий минимальную длину отсечения. [`const UInt8`](/ru/reference/data-types/int-uint)

**Возвращаемое значение**

Возвращает массив токенов, полученный из входной строки. [`Array`](/ru/reference/data-types/array)

**Примеры**

**Токенизатор по умолчанию**

```sql title=Query theme={null}
SELECT tokensForLikePattern('%test1,test2,test3%') AS tokens;
```

```response title=Response theme={null}
['test2']
```
