其他分享
首页 > 其他分享> > hive 使用regexp筛选和替代特殊字符

hive 使用regexp筛选和替代特殊字符

作者:互联网


```sql
---替换
regexp_replace(lower(name),'[^0-9a-zA-Z\\u4e00-\\u9fa5]','')  除中文字母数字以外的字符全部替换掉
“\u4e00”和“\u9fa5”是unicode编码,并且正好是中文编码的开始和结束的两个值,所以这个正则表达式可以用来判断字符串中是否包含中文

例如:
select 
'李中*华',--李中*华
regexp_replace(lower('李中*华' ),'[^0-9a-zA-Z\\u4e00-\\u9fa5]','') ---李中华


---查找

select
regexp_extract('李中*华','([~.!!@#¥%……&*()【】-=——+?《》/·。])')----*
再结合length()就可以锁定有特殊字符的数据

例如:
where length(regexp_extract('李中*华','([~.!!@#¥%……&*()【】-=——+?《》/·。])'))>0

标签:u4e00,中文,李中,u9fa5,hive,---,regexp,特殊字符
来源: https://blog.csdn.net/weixin_43792309/article/details/118274312