如果在其他地方有答案,我深表歉意。
我有一个存储在 Hive 字段中的字符串,该字段可以有 0 到 n 次出现“&”,然后在每次出现后跟上文本。
在 Hive 中,我想找到最后一次出现并抓取该次出现之后的所有文本。
使用 ...
split(field1,'[&]')[n]
...我可以抓住第 n 次出现,但我无法预测决赛或倒数。
我能够使以下工作:
reverse(split(reverse(field1),'[&]')[0])
然而,使用三个函数似乎有很多不必要的开销。我知道您可以在 regexp_extract() 中使用正则表达式,但我对正则表达式感到困惑。
regexp_extract() 会更快吗?如何实现?