我的表中有一列包含文件名列表,我想从这一列中提取文件扩展名。使用Presto,我如何提取最后一个句号(.)右边的所有内容?文件扩展名的长度为2-4个字符(.doc, .xls, .xlsx, etc.)
发布于 2021-07-10 01:21:06
如果列表是一个字符串,则使用regexp_extract:
select regexp_extract('file1.doc, file3.xls, file2.xlsx','.*\.(.*)$',1) --returns xlsxRegexp '.*\.(.*)$'含义:
.* -任意字符0+时间
\. -点
(.*) -要提取的组,任意字符0+次,可以使用(.{2,4}) -任意字符2到4次或([^.]*) -除点0+次以外的任意字符
$ -字符串锚点的结尾
https://stackoverflow.com/questions/68307730
复制相似问题