1. 概述
用户在处理数据时,经常会使用到正则表达式,用来描述某些字符串匹配规则,以此来对文本进行过滤。
1.1 预期效果
例如用户需要将「URL」文本字段进行判断,若字段全部为数字,则标记为「纯数字」,否则标记为「其他」,如下图所示:
1.2 实现思路
使用 REGEXP 函数判断是否为纯数字;
然后使用 IF 函数进行标记。
2. 操作步骤
示例数据:场景文档.xlsx
上传 示例数据至 FineBI 中。
2.1 创建自助数据集
创建自助数据集,选择示例数据下的所有字段,如下图所示:
2.2 新增列计算
方法一:
添加「新增列」步骤,命名为「纯数字」,输入公式:IF(REGEXP(URL,"\\d*")=1,"纯数字","其他"),如下图所示:
注:公式框中的函数、字段都需要点击左侧的选择区域选择,不能手动输入。
公式说明:
公式 | 说明 |
---|---|
REGEXP(URL,"\\d*") | 若 URL 字段全部为数字,则返回 1,否则返回 0
|
IF(REGEXP(URL,"\\d*")=1,"纯数字","其他") | 如果返回数值为1 ,则输出「纯数字」,否则输出「其他」 |
方法二:
也可使用该公式:IF(REGEXP(URL,"^[0-9]*$")=1,"纯数字","其他"),如下图所示:
注:公式框中的函数、字段都需要点击左侧的选择区域选择,不能手动输入。
公式说明:
公式 | 说明 |
---|---|
(REGEXP(URL,"^[0-9]*$") | 若 URL 字段全部为数字,则返回 1,否则返回 0 ^ 为匹配输入字符串的开始位置。 [0-9]*匹配多个数字, [0-9] 匹配单个数字,* 匹配前面的子表达式零次或多次; $ 为匹配输入字符串的结束位置。 |
IF(REGEXP(URL,"^[0-9]*$")=1,"纯数字","其他") | 如果返回数值为1 ,则输出「纯数字」,否则输出「其他」 |
正则表达式如下图说明:
2.3 效果查看
详情参见本文 1.1 节。