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

Функции разбиения и слияния строк и массивов в RQL предназначены для манипуляции текстовыми данными и коллекциями. Эти функции позволяют разделять строки на подстроки или элементы массива с использованием различных критериев, таких как фиксированные символы, строки, регулярные выражения или типы символов. Также они обеспечивают возможность объединения элементов массива в единую строку с заданным разделителем.

Набор поддерживаемых функций RQL и их поведение зависят от версии установленного ClickHouse. Если функция не поддерживается в используемой версии ClickHouse, она также не будет доступна в RQL. Ознакомиться с актуальным списком функций и их поведением можно в официальном репозитории ClickHouse, выбрав нужную версию из веток. Например: список функций разбиения и слияния строк и массивов для ClickHouse 24.7.

Table 1. Функции разбиения и слияния строк и массивов
Функция Описание

splitByChar(separator, s)

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

splitByString(separator, s)

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

splitByRegexp(regexp, s)

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

splitByWhitespace(s)

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

splitByNonAlpha(s)

Разбивает строку s на массив подстрок, используя неалфавитные символы в качестве разделителей.

arrayStringConcat(arr[, separator])

Склеивает элементы массива arr в строку, используя separator в качестве разделителя.

alphaTokens(s)

Выделяет из строки s подстроки, состоящие из буквенных символов, и возвращает их в виде массива.

ngrams(s, n)

Разбивает строку s на n-граммы (последовательности из n символов) и возвращает их в виде массива.

tokens(s)

Разбивает строку s на токены, используя не буквенно-цифровые символы ASCII в качестве разделителей.