首页 > 解决方案 > 蜂巢:一列中的多个字符串替换

问题描述

使用如下函数可以很容易地替换一个字符:

regexp_replace(string INITIAL_STRING, string PATTERN, string REPLACEMENT)

但是如何一次处理一列中的多个字符串替换呢?

例如,对于 A 到 @、B 到 #、C 到 Z 等关系,如何将其"ABC" 变为"@#Z"

标签: sqlhivehiveql

解决方案


使用translate(input, from, to)函数,它通过将 from 字符串中存在的字符替换为 to 字符串中的相应字符来翻译输入字符串:

hive> select translate('initial string ABC A B C','ABC','@#Z');
OK
initial string @#Z @ # Z
Time taken: 0.063 seconds, Fetched: 1 row(s)

推荐阅读