如何替换配置单元列中的特殊字符?

dfty9e19  于 2021-06-25  发布在  Hive
关注(0)|答案(1)|浏览(363)

我在hive中有一个需求,需要用\替换非字母数字字符。栏中的数据是“pranav\u wagde\u job\u 1163\u w.pranav ltr resume 04.07.2016.pdf”

SELECT FILENAME, REGEXP_REPLACE(FILENAME,"[^0-9a-zA-Z._]", "_"), FROM HIVEDB.FILEDATA WHERE FILENAME='Pranav Wagde_job_1163_W.Pranav Ltr-Resume 04.07.2016.pdf';

输出为

Pranav_Wagde_job_1163_W.Pranav Ltr-Resume 04.07.2016.pdf

我无法替换文件名中的点。如何替换数据中除文件扩展名以外的所有点?

8wtpewkr

8wtpewkr1#

如果支持正向展望,则可以添加替代项 | 匹配所有点,除了一个在右边后跟字符串结尾的1+字字符。

(?:[^0-9a-zA-Z._]|\.(?!\w+$))

正则表达式演示

相关问题