代码之家  ›  专栏  ›  技术社区  ›  Anupam Alok

如何拆分配置单元中有$的列值

  •  1
  • Anupam Alok  · 技术社区  · 7 年前

    这可能是一个愚蠢的问题,但我是新来的蜂巢和尝试很少的事情。

    问题是,我在表中有一列的值是 $$ 像abc12$$frg3一样 ,我正在将其导出到不同的配置单元表中,因此只需要值的第一部分,如 ABC12 在给定的情况下,我尝试了下面的方法

    Select regexp_extract(id,'^(\\w.*)\\$${2}(\\w.*)$',1) as app from tempTable;
    

    我也试过在蜂巢中使用分割功能

    select split(collection_id,'\\$$') as app from tempTable;
    

    两者都不起作用,它提供完整的字符串(原始)没有分裂我是不是遗漏了什么?

    2 回复  |  直到 7 年前
        1
  •  1
  •   Jiri Tousek    7 年前

    我想是因为你把 $ 你的正则表达式中的符号。 你应该试试

    Select regexp_extract(id,'^(\\w.*)\\${2}(\\w.*)$',1) as app from tempTable;
    
        2
  •  0
  •   Ananta Chandra Das    7 年前

    问题在于表达式中的$$。 ^(w)。 )$ $ { 2 }(\w)。 $ 从表达式中删除一个$符号。下面将解决问题。

    Select regexp_extract(id,'^(\\w.*)\\${2}(\\w.*)$',1) as app from tempTable;