replace
Назначение
Функция replace заменяет часть входной строки и возвращает измененную входную строку как текстовое значение.
Функция replace выполняет все замены одновременно, а не одну замену в последовательности за один раз. Важно не допустить ошибки, при котором вы используете третий аргумент, который совпадает с шаблонами в третьем аргументе. Поскольку замены выполняются все одновременно, то повторные переходы во входных данных для замены замененных версий строки отсутствуют. Другими словами, каждая замена всегда выполняется относительно исходной входной строки, а не промежуточных версий, где замены уже были выполнены.
Сравнение функции replace и узла Замена категорий
Выходные данные функции replace можно использовать как входные данные для второй (третьей и так далее) по счету функции replace. Например, можно написать такое выражение, как replace(replace("value","a","b"), "c","d).
Однако, если вы хотите выполнить несколько замен и заменяете строковое значение полностью, а не частично, попробуйте использовать узел Замены категорий, поскольку это удобнее: меньше вероятность возникновения синтаксических ошибок, более простой синтаксис и настройки узла легче установить и изменить, операция более широкая и прозрачная, поскольку представлена на скрипте в виде узла, а не в скрытом выражении узла Производные колонки, поскольку узел Замены категорий имеет большую гибкость, и поскольку узел Замены категорий специально предназначен для выполнения замен в нескольких строках при замене полного значения. В этом отношении функцию replace проще использовать в том случае, если необходимо выполнить одну или две некрупных замены, а узел Замены категорий кажется слишком громоздким.
Аргументы
Функция replace требует наличия трех аргументов:
-
Первый аргумент - исходное строковое значение, в котором нужно выполнить замены; обычно это колонка таблицы со строковыми данными.
-
Второй аргумент - которую нужно найти в первом аргументе. Все появления данной строки будут заменены. Поиск осуществляется с учетом регистра и должен иметь точное соответствие.
-
Третий аргумент - подстрока, которую нужно включить в выходные данные вместо второго аргумента.
Если второй аргумент появляется в первом аргументе несколько раз, то заменяется каждое его включение. После замены первого значения функция продолжает работу.
Второй и третий аргументы могут содержать любые символы. Второй или третий аргумент необязательно должны быть целыми словами или содержать пунктуационные символы. Предварительной лингвистической обработки не происходит. Эта функция работает на уровне необработанных символов. Например, можно заменить "postoffice" на "post office".