# Replace — функция скриптa и диаграммы

Replace() возвращает строку после замены всех вхождений определенной подстроки во входной строке на другую подстроку. Функция нерекурсивная и работает слева направо.

Синтаксис:

Replace(text, from\_str, to\_str)

Возвращаемые типы данных: строка

Аргументы

| Аргумент | Описание |
| --- | --- |
| text | Оригинальная строка. |
| from\_str | Строка, встречающаяся один или несколько раз во входной строке text. |
| to\_str | Строка, заменяющая все вхождения from\_str в строке text. |

Пример: выражение диаграммы

| Пример | Результат |
| --- | --- |
| `Replace( 'abccde','cc','xyz' )` | Возвращает `abxyzde` |

## Пример. Основы использования функции Replace

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Replace.htm)

#### Выражение диаграммы

Обзор

Набор данных с именами клиентов содержит несколько опечаток. В этом примере используется функция `Replace` для обработки и замены всех неправильных вхождений 'Jhon' на 'John'.

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.

Скрипт загрузки содержит следующее:

* Набор данных, который загружается в таблицу данных под именем `Example`.

* Следующие поля в таблице данных:

  * `CustomerID`

  * `CustomerName`

Скрипт загрузки

```
Example:
Load * inline [
CustomerID, CustomerName
1, Jhon Smith
2, Jhon Doe
3, John Williams
4, Jhonathan Harris
];
```

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:

* ` CustomerID
                                       `

* `CustomerName`

Создайте следующее вычисляемое измерение:

* `=Replace(CustomerName,'Jhon','John')`, чтобы заменить все экземпляры `Jhon` на `John`.

Результирующая таблица

| CustomerID | CustomerName | Replace(CustomerName,'Jhon','John') |
| --- | --- | --- |
| 1 | Джон Смит | Джон Смит |
| 2 | Джон Доу | John Doe |
| 3 | Джон Уильямс | Джон Уильямс |
| 4 | Джонатан Харрис | Джонатан Харрис |

Вывод функции `Repeat` находит и исправляет все экземпляры `Jhon` на `John`.

## Пример. Сценарий использования Replace

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Replace.htm)

#### Выражение диаграммы

Обзор

В наборе данных о продуктах используется непоследовательная маркировка кодов категорий. Например, у электротехнических товаров есть несколько вариантов кодов, таких как `ELEC`, `ELC` и `elc`. Чтобы стандартизировать коды, функция `Replace` используется для исправления всех непоследовательных кодов категорий как электрических товаров, так и предметов мебели.

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.

Скрипт загрузки содержит следующее:

* Набор данных, который загружается в таблицу данных под именем `Example`.

* Следующие поля в таблице данных:

  * `ProductID`

  * `CategoryCode`

Скрипт загрузки

```
Example:
Load * inline [
ProductID, CategoryCode
1, ELEC
2, ELC
3, FURN
4, FRN
5, ELEC
6, ELC
7, elc
];
```

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:

* ` ProductID
                                       `

* `CategoryCode`

Создайте следующее вычисляемое измерение:

* `=Replace(Replace(Upper(CategoryCode), 'ELC', 'ELEC'),'FRN', 'FURN')`, чтобы заменить любые экземпляры `ELC` на `ELEC` и любые экземпляры `FRN` на `FURN`.

Результирующая таблица

| Идентификатор продукта | КодКатегории | ЗАМЕНИТЬ(ЗАМЕНИТЬ(ВЕРХНИЙ(КодКатегории), 'ELC', 'ELEC'),'FRN', 'FURN') |
| --- | --- | --- |
| 1 | ELEC | ELEC |
| 2 | ELC | ELEC |
| 3 | FURN | FURN |
| 4 | FRN | Мебель |
| 5 | Электрика | Электрика |
| 6 | ELC | ELEC |
| 7 | elc | ELEC |

Вывод функции `Replace` заменяет все экземпляры `ELC` на `ELEC`, а `FRN` ― на `FURN`. Обратите внимание, что код `elc` также заменен. Хотя функция `Replace` чувствительна к регистру, формула измерения использует функцию `Upper`, чтобы привести в соответствие регистр всех `CategoryCodes` перед заменой строки. Таким образом, замена строки становится нечувствительной к регистру.

## Подробнее

* [Replace](https://help.qlik.com/ru-RU/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/Replace.htm)