【问题标题】:How to remove multiple characters at once using regexp_replace() in Hive?如何在 Hive 中使用 regexp_replace() 一次删除多个字符?
【发布时间】:2020-01-06 10:51:31
【问题描述】:

我正在尝试清理 Hive 表中的数据。我需要替换列中的一些字符,但我无法弄清楚如何在 Hive SQL 中使用 regexp_replace() 一次删除多个字符。

以下内容很简单,可以按预期工作:

select regexp_replace('abc-de-ghi', '-','');

和输出: abcdefghi

但我不知道如何清理包含不同字符的字符串:

select regexp_replace('abc-de/ghi@jkl:mn#op', <i-dont-know-what-goes-here>,'');

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: regex hive hiveql regexp-replace


    【解决方案1】:

    使用'[-/@:#]' 模板和要删除的字符集(在括号中):

    select regexp_replace('abc-de/ghi@jkl:mn#op','[-/@:#]','');
    

    结果:

    OK
    abcdeghijklmnop
    Time taken: 4.656 seconds, Fetched: 1 row(s)
    

    【讨论】:

      猜你喜欢
      • 2019-04-01
      • 1970-01-01
      • 2019-11-20
      • 2015-12-09
      • 2020-04-25
      • 2016-02-20
      • 1970-01-01
      • 1970-01-01
      • 2011-10-23
      相关资源
      最近更新 更多