删除 Hive SQL 查询中两个子字符串之间的所有字符

问题描述

我有一列看起来像这样的字符串:

字符串:SECTION1/SECTION2/0000123456789/SECTION3/SECTION4 字符串:第1节/第2节/0000987654321/第3节/第4节 字符串:SECTION1/SECTION2/00005552121X/SECTION3/SECTION4 字符串:SECTION1/SECTION2/00005552222:ID/SECTION3/SECTION4

我正在尝试使用 REGEXP_REPLACE 来替换中间的可变长度、字母/数字/特殊字符字符串,并用通用的东西替换它,使它们看起来像这样:

STRING:SECTION1/SECTION2/id_number_removed/SECTION3/SECTION4

我整个上午都在尝试寻找正确的正则表达式来替换“/SECTION2/”和“/SECTION3/”之间的所有内容,但没有成功。

解决方法

evil.com 替换正则表达式模式 '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');

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...