如何替换配置单元列中的特殊字符?
How to Replace special characters in hive columns?
我在 hive 中有一个需求,需要将非字母数字字符替换为 _。
列中的数据为"Pranav_Wagde_job_1163_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
我无法替换文件名中的点。
如何替换data中除文件扩展名外的所有点?
如果支持正向前瞻,您可以添加一个替代 |
匹配所有点,但右边有 1 个以上单词字符的点除外。
(?:[^0-9a-zA-Z._]|\.(?!\w+$))
我在 hive 中有一个需求,需要将非字母数字字符替换为 _。 列中的数据为"Pranav_Wagde_job_1163_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
我无法替换文件名中的点。 如何替换data中除文件扩展名外的所有点?
如果支持正向前瞻,您可以添加一个替代 |
匹配所有点,但右边有 1 个以上单词字符的点除外。
(?:[^0-9a-zA-Z._]|\.(?!\w+$))