如果在其他地方有答案,我道歉。
我有一个存储在Hive字段中的字符串,可以有0到n次出现的'&'每次出现后跟着文字。
在Hive中,我想找到最后一次出现并在该事件发生后抓取所有文本。
使用......
split(field1,'[&]')[n]
......我可以抓住第n次出现,但我无法预测决赛或倒数。
我能够让以下工作:
reverse(split(reverse(field1),'[&]')[0])
但是,使用三个函数似乎需要很多不必要的开销。我知道你可以在regexp_extract()中使用正则表达式,但我对正则表达式感到困惑。
regexp_extract()会更快,如何实现?
答案 0 :(得分:0)
[^&]*$
捕获所有非&
的字符,直到字符串$
结束