如何在 Hive 中使用 regexp_replace() 一次删除多个字符?
Posted
技术标签:
【中文标题】如何在 Hive 中使用 regexp_replace() 一次删除多个字符?【英文标题】:How to remove multiple characters at once using regexp_replace() in Hive? 【发布时间】: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>,'');
有人可以帮我解决这个问题吗?
【问题讨论】:
【参考方案1】:使用'[-/@:#]'
模板和要删除的字符集(在括号中):
select regexp_replace('abc-de/ghi@jkl:mn#op','[-/@:#]','');
结果:
OK
abcdeghijklmnop
Time taken: 4.656 seconds, Fetched: 1 row(s)
【讨论】:
以上是关于如何在 Hive 中使用 regexp_replace() 一次删除多个字符?的主要内容,如果未能解决你的问题,请参考以下文章