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

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

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

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

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

replaceOne(source, pattern, replacement)

Заменяет первое вхождение подстроки pattern в строке source на строку replacement.

replaceAll(source, pattern, replacement)

Заменяет все вхождения подстроки pattern в строке source на строку replacement. Псевдоним: replace.

replaceRegexpOne(source, pattern, replacement)

Заменяет первое вхождение подстроки, соответствующей регулярному выражению pattern (в синтаксисе re2), в строке source на строку replacement. В replacement могут использоваться подстановки \0-\9, где \1-\9 соответствуют 1-й по 9-й захваченной группе, а \0 соответствует всему совпадению.

replaceRegexpAll(source, pattern, replacement)

Аналогично replaceRegexpOne, но заменяет все вхождения подстрок, соответствующих регулярному выражению pattern. Псевдоним: REGEXP_REPLACE.

translate(s, from, to)

Заменяет символы в строке s, используя прямое отображение символов, определенное строками from и to. Строки from и to должны быть константными ASCII строками одинакового размера. Не-ASCII символы в исходной строке не модифицируются.

translateUTF8(string, from, to)

Аналогично translate, но предполагает, что строки s, from и to закодированы в UTF-8.