# PurgeChar 指令碼與圖表函數

PurgeChar() 會傳回包含輸入字串 ('text') 中包括之字元的字串，第二個引數 ('remove\_chars') 中出現的任何字元除外。

語法：

PurgeChar(text, remove\_chars)

傳回的資料類型： 字串

引數

| 引數 | 描述 |
| --- | --- |
| text | 原始字串。 |
| remove\_chars | 包含 text 中要移除之字元的字串。 |

範例：圖表運算式

| 範例 | 結果 |
| --- | --- |
| `PurgeChar( 'a1b2c3','123' )` | 傳回 `abc` |
| `PurgeChar( 'a1b2c3','1234' )` | 傳回 `abc` |
| `PurgeChar( 'a1b22c3','1234' )` | 傳回 `abc` |
| `PurgeChar( 'a1b2c3','312' )` | 傳回 `abc` |
| `PurgeChar ( 'a1b2c3','Abc' )` | 傳回 `a123` |

## 範例 - PurgeChar 基礎事項

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

#### 圖表運算式

概述

開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。

載入指令碼包含：

* 載入到稱為 `Example` 之資料表格的資料集。

* 資料表格中的欄位如下：

  * `InputText`

  * `CharsToPurge`

載入指令碼

```
Example:
Load * inline [
InputText, CharsToPurge
'a1b2c3', '123'
'a^b^c', '^'
'A^b^c', 'A^'
];
```

結果

載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度：

* ` InputText
                                   `

* `CharsToPurge`

建立下列計算維度：

* `=PurgeChar(InputText,CharsToPurge)`，用來計算 `InputText` 中與 `CharsToPurge` 中的字元相符的字元，並僅傳回那些不相符的字元。

Results table

| InputText | CharsToPurge | PurgeChar(InputText,CharsToPurge) |
| --- | --- | --- |
| A^b^c | A^ | bc |
| a^b^c | ^ | abc |
| a1b2c3 | 123 | abc |

`PurgeChar` 函數的輸出僅傳回 `InputText` 中與 `CharsToPurge` 中的字元不相符的字元。例如，第一行傳回 `bc` 並移除其他字元。

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

#### 載入指令碼

以下程式碼顯示如何在載入指令碼中使用該函數。

```
Example:
Load
*, 
purgechar(String1, String2) as PurgeChar;
Load * inline [
String1, String2
'a1b2c3', '123'
];
```

結果表格

| string1 | String2 | PurgeChar |
| --- | --- | --- |
| a1b2c3 | 123 | abc |

## 範例 - PurgeChar 使用情境

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

#### 圖表運算式

概述

資料集包含客戶姓名和電話號碼。此範例剖析電話號碼字串，僅保留數字字元並捨棄所有其他字元，例如括號、破折號、句點、加號和空格。

開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。

載入指令碼包含：

* 載入到稱為 `Example` 之資料表格的資料集。

* 資料表格中的欄位如下：

  * `CustomerName`

  * `PhoneNumber`

載入指令碼

```
Example:
Load * inline [
CustomerName, PhoneNumber
John Doe, (123) 456-7890
Jane Smith, 123-456-7890
Bob Johnson, 123.456.7890
Alice Brown, +1 (123) 456 7890
];
```

結果

載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度：

* ` CustomerName
                                   `

* `PhoneNumber`

建立下列計算維度：

* `=PurgeChar(PhoneNumber, '()- .+ ')`，用來從 `PhoneNumber` 欄位中擷取非數字字元並僅傳回數字字元。

Results table

| CustomerName | PhoneNumber | PurgeChar(PhoneNumber,'()-.+ ') |
| --- | --- | --- |
| Alice Brown | +1 (123) 456 7890 | 11234567890 |
| Bob Johnson | 123.456.7890 | 1234567890 |
| Jane Smith | 123-456-7890 | 1234567890 |
| John Doe | (123) 456-7890 | 1234567890 |

`PurgeChar` 函數的輸出已成功從 `PhoneNumber` 字串移除所有非數字字元並僅傳回數字。

## 瞭解更多資訊

* [KeepChar 指令碼與圖表函數](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/KeepChar.htm)