REGEXP_MATCH 在数据洞察中
REGEXP_MATCH in Data Studio
我目前正在使用 datastudio 将我的数据转换为报告,但我在创建时遇到了问题,因为可用数据不是很容易利用。我想通过正则表达式函数清理它们,但找不到正确的表达式
示例:
1- Apple
2- Apples
3 - Pre-apple
4- Pré-apples
5-Prèapple
我想转型
Apple
Preapple
有人可以帮帮我吗? ,谢谢!
您似乎想要第一个“-”之后的所有内容。为此使用 instr()
和 substr()
:
select substr(col, instr(col, '- ') + 2)
通常,在MySQL中,最简单的解决方案是substring_index()
。但是您可能有多个 '- '
而您只关心第一个。如果你不这样做,那么:
select substring_index(col, '- ', 2)
一个CASE
statement with a couple of REGEXP_MATCH
函数就可以了:
CASE
WHEN REGEXP_MATCH(Field, ".*(Pr[eèé]-?apples?).*") THEN "Preapple"
WHEN REGEXP_MATCH(Field, ".*(Apples?).*") THEN "Apple"
ELSE "Other"
END
创建了一个Google Data Studio Report来演示:
我目前正在使用 datastudio 将我的数据转换为报告,但我在创建时遇到了问题,因为可用数据不是很容易利用。我想通过正则表达式函数清理它们,但找不到正确的表达式
示例:
1- Apple
2- Apples
3 - Pre-apple
4- Pré-apples
5-Prèapple
我想转型
Apple
Preapple
有人可以帮帮我吗? ,谢谢!
您似乎想要第一个“-”之后的所有内容。为此使用 instr()
和 substr()
:
select substr(col, instr(col, '- ') + 2)
通常,在MySQL中,最简单的解决方案是substring_index()
。但是您可能有多个 '- '
而您只关心第一个。如果你不这样做,那么:
select substring_index(col, '- ', 2)
一个CASE
statement with a couple of REGEXP_MATCH
函数就可以了:
CASE
WHEN REGEXP_MATCH(Field, ".*(Pr[eèé]-?apples?).*") THEN "Preapple"
WHEN REGEXP_MATCH(Field, ".*(Apples?).*") THEN "Apple"
ELSE "Other"
END
创建了一个Google Data Studio Report来演示: