Impala 中有 Regexp_count 替代品吗?
Is there any Regexp_count alternative in Impala?
我正在 Impala 中寻找 Oracle 的 Regexp_count 替代方案。有没有其他选择或者有什么方法可以在 Impala 中实现 regexp_count?
用一些不在您的模式中的字符替换模式,例如波浪号“~”,然后删除不是波浪号的所有内容,然后计算字符串的长度。如果初始字符串可以包含波浪号,请先将其全部删除。
例如计算模式 test
在字符串中出现的次数(也包含波浪号)'test ~something ~test, one more test~'
:
length(--get length (the number of tildes)
regexp_replace(
regexp_replace(
regexp_replace('test ~something ~test, one more test~','~',''), --remove all tildes
'test','~'), --replace pattern with tilde
'[^~]+','') --remove everything that is not tilde
) --calculate the number of tildes
这将 return 3
我正在 Impala 中寻找 Oracle 的 Regexp_count 替代方案。有没有其他选择或者有什么方法可以在 Impala 中实现 regexp_count?
用一些不在您的模式中的字符替换模式,例如波浪号“~”,然后删除不是波浪号的所有内容,然后计算字符串的长度。如果初始字符串可以包含波浪号,请先将其全部删除。
例如计算模式 test
在字符串中出现的次数(也包含波浪号)'test ~something ~test, one more test~'
:
length(--get length (the number of tildes)
regexp_replace(
regexp_replace(
regexp_replace('test ~something ~test, one more test~','~',''), --remove all tildes
'test','~'), --replace pattern with tilde
'[^~]+','') --remove everything that is not tilde
) --calculate the number of tildes
这将 return 3