# 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` 函数的输出仅返回与 `CharsToPurge` 中的字符不匹配的 `InputText` 中的字符。例如，第一行返回 `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-CN/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/KeepChar.htm)