# Replace スクリプトおよびチャート関数

Replace() は、指定された文字列内に含まれる指定されたサブストリングすべてを別のサブストリングで置き換えた文字列を返します。この関数は非再帰関数で、左から右へ処理されます。

構文:

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

戻り値データ型： 文字列

引数

| 引数 | 説明 |
| --- | --- |
| text | 元の文字列。 |
| from\_str | 入力文字列 text に 1 回以上現れる文字列。 |
| to\_str | text文字列に現れる from\_str をすべて置き換える文字列。 |

例: チャートの数式

| 例 | 結果 |
| --- | --- |
| `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 | Jhon Smith | John Smith |
| 2 | Jhon Doe | John Doe |
| 3 | John Williams | John Williams |
| 4 | Jhonathan Harris | Johnathan Harris |

`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` に置き換えます。

結果テーブル

| ProductID | CategoryCode | Replace(Replace(Upper(CategoryCode), 'ELC', 'ELEC'),'FRN', 'FURN') |
| --- | --- | --- |
| 1 | ELEC | ELEC |
| 2 | ELC | ELEC |
| 3 | FURN | FURN |
| 4 | FRN | FURN |
| 5 | ELEC | ELEC |
| 6 | ELC | ELEC |
| 7 | elc | ELEC |

`Replace` 関数の出力は、`ELC` のインスタンスを `ELEC` に、`FRN` のインスタンスを `FURN` に置き換えます。コード `elc` も置き換えられたことに注意してください。`Replace` 関数は大文字と小文字を区別しますが、軸式では `Upper` 関数を使用して、文字列を置き換える前にすべての `CategoryCodes` の大文字と小文字を一致させます。これにより、文字列の置換では大文字と小文字が区別されなくなります。

## 詳細を見る

* [Replace](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/Replace.htm)