# Trim 脚本和图表功能

Trim() 用于返回由任何前导和尾部空格剪裁的输入字符串。

语法：

Trim(text)

返回数据类型： 字符串

参数

| 参数 | 描述 |
| --- | --- |
| text | 要计算的字符串。 |

示例 - 图表表达式

| 示例 | 结果 |
| --- | --- |
| `Trim( ' abc' )` | 返回 `abc` |
| `Trim( 'abc ' )` | 返回 `abc` |
| `Trim( ' abc ' )` | 返回 `abc` |

## 示例 - Trim 基本原理

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

#### 图表表达式

概述

打开数据加载编辑器，并将下面的加载脚本添加到新部分。

加载脚本包含：

* 加载到名为 `Example` 的数据表中的数据集。

* 数据表中有一个名为`InputText` 的字段。

加载脚本

```
Set verbatim=1;
Example:
Load * inline [
InputText
'   abc    '
' def  '];
```

信息注释示例中包含“Set verbatim=1”语句，以确保在演示 ltrim 函数之前不会自动修剪空间。有关更多信息，请参阅[Verbatim](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemVariables/Verbatim.htm)。

结果

加载数据并打开工作表。创建新表并将该字段添加为维度：

* ` InputText
                                   `

创建以下计算维度：

* `=Trim(InputText)` 用于从 `InputText` 中删除所有前导或尾随空格。

结果表

| InputText | Trim(InputText) |
| --- | --- |
| ' abc ' | 'abc' |
| ' def ' | 'def' |

`Trim` 函数的输出将删除所有前导空格和尾随空格。

## 示例 - Trim 场景

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

#### 图表表达式

概述

客户关系管理 (CRM) 系统包含数据输入不一致的记录，其中包括额外的前导空格。出于报告目的，需要清理数据以删除这些空格，并确保客户姓名的正确排序和分组。

打开数据加载编辑器，并将下面的加载脚本添加到新部分。

加载脚本包含：

* 

  加载到名为 `Example` 的数据表中的数据集。

* 数据表中有一个名为`CustomerName` 的字段。

加载脚本

```
Set verbatim=1;
Example:
Load * inline [
CustomerName
'  John Doe '
'Jane Smith '
'   Michael Johnson'
'Emily Davis'
];
```

信息注释示例中包含“Set verbatim=1”语句，以确保在演示 ltrim 函数之前不会自动修剪空间。有关更多信息，请参阅[Verbatim](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemVariables/Verbatim.htm)。

结果

加载数据并打开工作表。创建新表并将该字段添加为维度：

* ` CustomerName
                                   `

创建以下计算维度：

* `=Trim(CustomerName)` 用于从 `CustomerName` 中删除所有前导或尾随空格。

结果表

| CustomerName | Trim(CustomerName) |
| --- | --- |
| ' Michael Johnson' | 'Michael Johnson' |
| ' John Doe ' | 'John Doe' |
| 'Emily Davis' | 'Emily Davis' |
| 'Jane Smith ' | 'Jane Smith' |

输出结果显示，`Trim` 函数删除了`CustomerName` 中原始字符串值的所有前导和尾随空格。

## 示例 - Trim 高级场景

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

#### 图表表达式

概述

此示例从原始文本字符串中删除所有前导和尾随空格。图表表达式包括度量，该度量使用 `Len` 函数对使用 `Trim` 函数前后字符串中的字符进行计数。

打开数据加载编辑器，并将下面的加载脚本添加到新部分。

加载脚本包含：

* 加载到名为 `Example` 的数据表中的数据集。

* 数据表中有一个名为`String` 的字段。

加载脚本

```
Set verbatim=1;
Example:
Load * inline [
String
'   abc    '
' def  '];
```

信息注释示例中包含“Set verbatim=1”语句，以确保在演示 ltrim 函数之前不会自动修剪空间。有关更多信息，请参阅[Verbatim](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemVariables/Verbatim.htm)。

结果

加载数据并打开工作表。创建新表并将该字段添加为维度：

* ` String
                                   `

创建以下计算维度：

* `=Trim(String)`，用于删除所有前导或尾随空格

创建以下度量：

* `=Len(String)`，用来计算原始字符串的长度

* `=Len(Trim(String))`，用来计算去掉空格后字符串的长度。

结果表

| 字符串 | Trim(String) | Len(String) | Len(Trim(String)) |
| --- | --- | --- | --- |
| ​' abc ' | 'abc' | 10 | 3 |
| ​' def ' | 'def' | 6 | 3 |

当您将 `Trim` 函数的输出与脚本中的原始字符串值进行比较时，您可以看到所有前导和尾随空格是如何被删除的。

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

#### 加载脚本

以下代码显示了如何在加载脚本中使用该函数。

```
Set verbatim=1;
Example:
Load *, len(TrimString) as TrimStringLength;
Load *, trim(String) as TrimString;
Load *, len(String) as StringLength;
Load * inline [
String
'   abc    '
' def  '](delimiter is '\t');
```

信息注释示例中包含“Set verbatim=1”语句，以确保在演示 ltrim 函数之前不会自动修剪空间。有关更多信息，请参阅[Verbatim](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemVariables/Verbatim.htm)。

结果表

| 字符串 | StringLength | Trim字符串 | TrimStringLength |
| --- | --- | --- | --- |
| abc | 10 | abc | 3 |
| def | 6 | def | 3 |