0

我想解析-之间的值。但是对于某些数据,例如第一个 url 包含 - 所以在这种情况下,我只需要获取间隙,而下一个我可以**camry**通过使用*(site_data,'[^-]+',1,2)*. 但我也想处理差距。

U=Google--undefined|http://www.google.com/urlsa=t&rct=j&q=&esrc=s&frm=1&source=web&cd=2&ved=0CFMQFjAB&url=http://www.toyota.com/tundra/features.html&ei=-zwQUvOyGIXu2QWC7oGgBg&usg=AFQjCNFQKGcr2dbDeC-0zagtYdKFEfXXzQ&bvm=bv.50768961,d.aWc

U=Bing-camry-undefined|http://www.bing.com/searchq=camry&pc=MOZI&form=MOZSBR

请帮助解决这个问题。

4

1 回答 1

1

您可以将字符串与连字符一起提取,然后修剪连字符。

trim('-' from regexp_substr(site_data,'-[^-]*-'))

或者,您也可以使用 regexp_replace 函数。

regexp_replace(site_data,'(-([^-]*)-)|(.)','\2')
于 2013-08-23T10:15:14.147 回答