HIVE SQL中替换不可见字符的正则表达式

一.替换字符串中的空白字符

对于剔除字符串首尾的空格,使用较多的是trim()ltrim()rtrim()函数,但是他们无法去除字符串中间的空格。

这个时候通常会使用正则表达式来替换字符串中的空白字符\s表示匹配任何空白字符,包括空格、制表符、换页符等等, 等价于[ \f\n\r\t\v]。

c 复制代码
select regexp_replace('  abcd  ef  g ','\\s+','');

返回结果:

'abcdefg'

二.替换字符串中的无法解析的非法字符

在实际清洗过程中,发现即使使用了'\\s+'正则进行替换后,仍旧出现字符串中存在不可见字符的情况。这往往是因为上有数据在解析过程中未将无法解析的非法字符剔除掉。

这个时候可以使用regexp_replace(col_name,'[\\x00-\\x08\\x0B-\\x0C\\x0E-\\x1F]+|\\s+','')进一步对不可见字符进行处理。

相关推荐
p***32351 小时前
一条sql 在MySQL中是如何执行的
数据库·sql·mysql
qq_16155498922 小时前
正则表达式
正则表达式
瀚高PG实验室3 小时前
Oracle或DM(达梦)时间戳之间的差值SQL迁移到瀚高数据库
数据库·sql·oracle·瀚高数据库
路边草随风3 小时前
starrocks compaction 进度问题定位
大数据·sql
曹牧3 小时前
Oracle:“列不能外部关联到子查询”
数据库·sql
跟着珅聪学java3 小时前
Logback日志配置教程
数据仓库·hive·hadoop
w***i2944 小时前
【SQL】count(1)、count() 与 count(列名) 的区别
数据库·sql
where happens4 小时前
SQL Server 收缩日志
数据库·sql·oracle
W***83205 小时前
SQL 中UPDATE 和 DELETE 语句的深入理解与应用
数据库·sql
凌~风5 小时前
001-计算机实验报告之数据库原理实验报告
数据库·sql