Hive regexp_replace函数
建表 插入测试数据

从字符串中按截取长度提取 汉字/数字/字母。
截取字符串中的汉字“汤姆Tom123那That个456猫Cat789”
select regexp_replace(substr(e.ename,2,6),'([^\\u4E00-\\u9FA5]+)','')
from mydb.emp_m ewhere e.empno=8006 ;
返回结果:

2.截取字符串中的数字。“汤姆Tom123那That个456猫Cat789”
select regexp_replace(substr(e.ename,2,6),'([^0-9]+)','')
from mydb.emp_m ewhere e.empno=8006 ;
返回结果:

Oracle 截取字符串中的数字 写法对比
select regexp_replace(substr(e.ename,2,6),'[^[:digit:]]')
from emp_m e where e.empno=8006 ;
3.截取字符串中的字母“汤姆Tom123那That个456猫Cat789”
select regexp_replace(substr(e.ename,2,6),'([^a-zA-Z]+)','')
from mydb.emp_m ewhere e.empno=8006 ;
返回结果:

版权声明:本文为m0_59789299原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。