| operator:

问题描述 投票:0回答:1

试图在hive中使用 regexp_replace. 但是,无法实现解决。

输入 :

123-45-6789

輸出 :

###-##-6789
hive hiveql
1个回答
2
投票

如果您可以灵活使用除 # 来屏蔽字符串,你可以使用内置的屏蔽函数 mask_show_last_n.

select mask_show_last_n('123-45-6789',4) 

产出将是 nnn-nn-6789 作为 n 在这些掩码函数中默认用于掩码数字。


2
投票

获取前6个字符的子串,并替换其中除 -然后与字符串的其余部分连接。

select regexp_replace(substr('123-45-6789',1,6),'[^-]','#')||substr('123-45-6789',7)

结果:

###-##-6789

对于Hive的< 2.2.0版本,用concat来代替。

© www.soinside.com 2019 - 2024. All rights reserved.