全部展开/折叠
TextBetween - 脚本和图表函数在该页面上
TextBetween() 用于返回输入字符串中作为分隔符出现在指定字符之间的文本。
语法:
TextBetween( text,
delimiter1, delimiter2[, n])
返回数据类型: 字符串
参数
text
原始字符串。
delimiter1
指定要在 text 中搜索的第一个分隔符(或字符串)。
delimiter2
指定要在 text 中搜索的第二个分隔符(或字符串)。
n
定义搜索哪一次出现的分隔符对之间的字符。例如,值为 2,则返回第二次出现的 delimiter1 和第二次出现的 delimiter2 之间的字符。
示例:图表表达式
TextBetween( '<abc>', '<', '>' )
返回 abc
TextBetween( '<abc><de>', '<', '>',2 )
返回 de
TextBetween( 'abc', '<', '>' )
返回 NULL
如果在字符串中未找到任何一个分隔符,则会返回 NULL 。
TextBetween( '<a<b', '<', '>' )
返回 NULL
如果在字符串中未找到任何一个分隔符,则会返回 NULL 。
TextBetween( '<>', '<', '>' )
返回零长度字符串。
TextBetween( '<abc>', '<', '>', 2 )
返回 NULL ,因为 n 大于分隔符的出现数。
示例 - TextBetween 基本原理
图表表达式
概述
打开数据加载编辑器,并将下面的加载脚本添加到新部分。
加载脚本包含:
加载到名为 Example 的数据表中的数据集。
数据表中有一个名为 InputText 的字段。
加载脚本
Example:
Load * inline [
InputText,
< abc> < de>
< def> < ghi> < jk>
];
复制代码到剪贴板
结果
加载数据并打开工作表。创建新表并将该字段添加为维度:
创建以下计算维度:
=TextBetween(InputText,'<','>') ,用于计算出现在 InputText 字段中分隔符 '<' 和 '>' 之间的字符的第一个实例。
=TextBetween(InputText,'<','>',2) ,用于计算出现在 InputText 字段中分隔符 '<' 和 '>' 之间的字符的第二个实例。
Results table
InputText
TextBetween(InputText,'<','>')
TextBetween(InputText,'<','>',2)
<abc><de>
abc
de
<def><ghi><jkl>
def
ghi
在第一个计算维度中,TextBetween 函数的输出返回分隔符 '<' 和 '>' 之间出现的字符的第一个实例。例如,第 1 行返回 abc 。第二个计算维度具有 2 的 n 参数,因此输出返回分隔符 '<' 和 '>' 之间出现的字符的第二个实例。例如,第 1 行返回 de 。
加载脚本
以下代码显示了如何在加载脚本中使用该函数。
Load *,
textbetween(Text,'<','>') as TextBetween,
textbetween(Text,'<','>',2) as SecondTextBetween;
Load * inline [
Text
< abc> < de>
< def> < ghi> < jkl> ];
复制代码到剪贴板
结果表
Text
TextBetween
SecondTextBetween
<abc><de>
abc
de
<def><ghi><jkl> def ghi
示例 – TextBetween 场景
图表表达式
概述
数据集包含一个含电子邮件地址的数据表。此示例使用 TextBetween 函数从地址中提取二级域。
打开数据加载编辑器,并将下面的加载脚本添加到新部分。
加载脚本包含:
加载到名为 Example 的数据表中的数据集。
数据表中有以下字段:
加载脚本
Example:
Load * inline [
UserID, EmailAddress
1, alice@example.com
2, bob@sample.org
3, charlie@domain.net
];
复制代码到剪贴板
结果
加载数据并打开工作表。创建新表并将这些字段添加为维度:
创建以下计算维度:
Results table
UserID
EmailAddress
TextBetween(EmailAddress,'@', '.')
1
alice@example.com
example
2
bob@sample.org
sample
3
charlie@domain.net
domain
TextBetween 函数的输出通过搜索以下指定分隔符之间的内容来返回每个用户 ID 的二级域:'@' 和 '.' 。