Replace - 脚本和图表函数
Replace() 用于使用另一个子字符串替换输入字符串内出现的所有给定子字符串后,返回一个字符串。该函数为非递归函数,从左至右工作。
语法:
Replace(text, from_str, to_str)
返回数据类型: 字符串
参数
text
|
原始字符串。 |
from_str
|
在输入字符串 text 内可能出现一次或多次的字符串。 |
to_str
|
替换在字符串 text 内出现的所有 from_str 的字符串。 |
示例 - 图表表达式
Replace( 'abccde','cc','xyz' )
|
返回 abxyzde |
示例 - Replace 基本原理
概述
客户姓名数据集包含一些拼写错误。此示例使用 Replace 函数处理任何错误出现的“Jhon”并将其替换为“John”。
打开数据加载编辑器,并将下面的加载脚本添加到新选项卡。
加载脚本包含:
-
加载到名为 Example 的数据表中的数据集。
-
数据表中有以下字段:
加载脚本
Example:
Load * inline [
CustomerID, CustomerName
1, Jhon Smith
2, Jhon Doe
3, John Williams
4, Jhonathan Harris
];
结果
加载数据并打开工作表。创建新表并将这些字段添加为维度:
创建以下计算维度:
结果表
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 函数的输出将查找并更正带 John 的 Jhon 的所有实例。
示例 – Replace 场景
概述
产品数据集对类别代码使用不一致的标签。例如,电气产品有多种代码变体,如 ELEC、ELC 和 elc。为使代码标准化,Replace 函数用于纠正电气和家具产品的所有不一致类别代码。
打开数据加载编辑器,并将下面的加载脚本添加到新选项卡。
加载脚本包含:
-
加载到名为 Example 的数据表中的数据集。
-
数据表中有以下字段:
加载脚本
Example:
Load * inline [
ProductID, CategoryCode
1, ELEC
2, ELC
3, FURN
4, FRN
5, ELEC
6, ELC
7, elc
];
结果
加载数据并打开工作表。创建新表并将这些字段添加为维度:
创建以下计算维度:
-
=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 的大小写。这有效地使字符串替换不区分大小写。