正则表达式替换在配置单元中不工作

m4pnthwp  于 2021-06-01  发布在  Hadoop
关注(0)|答案(3)|浏览(346)

我想换新的 ; 在数据中 : 在Hive中尝试了以下操作,但不起作用

hive> select REGEXP_REPLACE('Mozilla/5.0 (Macintosh; Intel',';',':');

如何在Hive中实现这一点。我在转换时遇到了问题。

eqoofvh9

eqoofvh91#

你需要避开分号。请看下面

hive> select REGEXP_REPLACE("Mozilla/5.0 (Macintosh\; Intel","\;",":");
OK
Mozilla/5.0 (Macintosh: Intel
Time taken: 0.082 seconds, Fetched: 1 row(s)
kzmpq1sx

kzmpq1sx2#

你可以试试这个
方法1: REGEXP_REPLACE('Mozilla/5.0 (Macintosh; Intel','\;',':'); 方法2: REGEXP_REPLACE('Mozilla/5.0 (Macintosh; Intel','\\;',':');

suzh9iv8

suzh9iv83#

只是使用 replace() :

select replace('Mozilla/5.0 (Macintosh; Intel', ';', ':')
``` `replace()` 在文档中有描述。

相关问题