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+','')进一步对不可见字符进行处理。

相关推荐
乌暮2 小时前
Spring AOP 与 Spring 事务:用大白话彻底理解原理与实践
java·数据库·spring boot·后端·sql·学习·spring
吾AI科技4 小时前
基于Tez引擎的 Hive SQL 性能优化 —— 为什么脚本运行越来越慢
大数据·hive·性能优化·tez
AllData公司负责人15 小时前
AI大模型数据开发底座系列说明书,AllData集成Chat2DB开源项目建设AI 数据库分析底座,涵盖AI 洞察/对话SQL/智能视图!
数据库·人工智能·sql·开源·ai 洞察·对话sql
Decay__20 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
星恒随风2 天前
MySQL 从零入门(五):MySQL 内置函数详解——日期、字符串、数学函数与实战案例
linux·数据库·笔记·sql·mysql
2603_969694852 天前
【JavaWeb学习记录】MyBatis核心知识点与实战笔记:从入门到动态SQL
笔记·sql·学习·mysql·mybatis·javaweb·学习方法
数据技术说2 天前
在 KES AI 数据库上搭一条 NL2SQL 链路:语义、召回、权限各放哪
人工智能·sql·代码规范
codeejun2 天前
每日一Go·MySQL-14、慢 SQL 产生原因全解
sql·mysql·golang
拼图2092 天前
VSCode 正则表达式使用指南
ide·vscode·正则表达式
新*3 天前
Elasticsearch 7.17 的 SQL 到底能查到什么?一次踩坑记录
后端·sql·elasticsearch·查询