删除 Hive SQL 查询中两个子字符串之间的所有字符
Remove all characters between two substrings in Hive SQL query
我有一列字符串如下所示:
字符串:SECTION1/SECTION2/0000123456789/SECTION3/SECTION4
字符串:SECTION1/SECTION2/0000987654321/SECTION3/SECTION4
字符串:SECTION1/SECTION2/00005552121X/SECTION3/SECTION4
字符串:SECTION1/SECTION2/00005552222:ID/SECTION3/SECTION4
我正在尝试使用 REGEXP_REPLACE 替换可变长度,从中间开始 alpha/num/special char 字符串并将其替换为通用的内容,以便它们看起来像这样:
字符串:SECTION1/SECTION2/id_number_removed/SECTION3/SECTION4
我整个上午都在努力寻找正确的正则表达式来替换“/SECTION2/”和“/SECTION3/”之间的所有内容,但没有成功。
将正则表达式模式 'SECTION2/[^/]+/SECTION3'
替换为 'SECTION2/id_number_removed/SECTION3'
。 [^/]+
表示 1 个或多个不是斜杠的字符。
select regexp_replace(
'STRING:SECTION1/SECTION2/00005552222:ID/SECTION3/SECTION4',
'SECTION2/[^/]+/SECTION3',
'SECTION2/id_number_removed/SECTION3');
这给出了
STRING:SECTION1/SECTION2/id_number_removed/SECTION3/SECTION4
我有一列字符串如下所示:
字符串:SECTION1/SECTION2/0000123456789/SECTION3/SECTION4 字符串:SECTION1/SECTION2/0000987654321/SECTION3/SECTION4 字符串:SECTION1/SECTION2/00005552121X/SECTION3/SECTION4 字符串:SECTION1/SECTION2/00005552222:ID/SECTION3/SECTION4
我正在尝试使用 REGEXP_REPLACE 替换可变长度,从中间开始 alpha/num/special char 字符串并将其替换为通用的内容,以便它们看起来像这样:
字符串:SECTION1/SECTION2/id_number_removed/SECTION3/SECTION4
我整个上午都在努力寻找正确的正则表达式来替换“/SECTION2/”和“/SECTION3/”之间的所有内容,但没有成功。
将正则表达式模式 'SECTION2/[^/]+/SECTION3'
替换为 'SECTION2/id_number_removed/SECTION3'
。 [^/]+
表示 1 个或多个不是斜杠的字符。
select regexp_replace(
'STRING:SECTION1/SECTION2/00005552222:ID/SECTION3/SECTION4',
'SECTION2/[^/]+/SECTION3',
'SECTION2/id_number_removed/SECTION3');
这给出了
STRING:SECTION1/SECTION2/id_number_removed/SECTION3/SECTION4