【问题标题】:Extracting file extension from filename using Presto使用 Presto 从文件名中提取文件扩展名
【发布时间】:2021-09-19 06:43:51
【问题描述】:

我表中的一列有一个文件名列表,我想从该列中提取文件扩展名。使用 Presto,如何提取最后一个句点右侧的所有内容 (.)?文件扩展名的长度为 2-4 个字符 (.doc, .xls, .xlsx, etc.)

【问题讨论】:

    标签: string substring presto


    【解决方案1】:

    如果列表是字符串,则使用 regexp_extract:

    select regexp_extract('file1.doc, file3.xls, file2.xlsx','.*\.(.*)$',1) --returns xlsx
    

    正则表达式'.*\.(.*)$'含义:

    .* - 任何字符 0+ 次

    \. - 点

    (.*) - 要提取的组,任何字符 0+ 次, 您可以使用(.{2,4}) - 任何字符 2 到 4 次 或([^.]*) - 除点以外的任何字符 0+ 次

    $ - 字符串锚的结尾

    【讨论】:

      猜你喜欢
      • 2018-10-27
      • 2011-03-31
      • 2011-12-08
      • 2010-10-07
      • 1970-01-01
      • 2012-04-05
      • 2019-01-12
      • 1970-01-01
      相关资源
      最近更新 更多