我正在尝试删除“;”字符串中的分号。 我应该在HIVE SQL中使用什么命令。我知道regexp_replace可以工作..但是放什么呢? 看起来 ; -特殊字符无效,但其他特殊字符(如或)有效。 例如 , 数据看起来像
;;;;;0123445
我希望数据看起来像这样
0123445
在此方面的任何帮助将不胜感激。我一直在为此苦苦挣扎。
答案 0 :(得分:0)
REGEXP_REPLACE
确实看起来不错。例如,这将从字段中删除所有分号:
REGEXP_REPLACE(my_column, ';', '')
使用REPLACEMENT实例返回将INITIAL_STRING中所有与PATTERN中定义的Java正则表达式语法匹配的子字符串替换后得到的字符串。
请注意,分号在regexp语言中没有特殊含义。
如果您只想在字符串的开头匹配分号(如您的问题所示),请使用正则表达式特殊字符^
,它表示字符串的开头
REGEXP_REPLACE(my_column, '^;', '')
答案 1 :(得分:0)
要删除所有分号,只需使用replace()
:
replace(my_column, ';', '')
要删除前导分号,可以使用:
replace(my_column, '^;+', '')
答案 2 :(得分:0)
在Hive中,您需要转义分号。
regexp_replace(column_name,'\;','')