Oracle SQL:如何用SELECT语句移除字符串中的重复内容
Oracle SQL移除字符串中连续重复内容的解决方案
需求说明
需要通过Oracle SQL的SELECT语句移除字符串中的连续重复内容:
- 示例输入:
'apple-HenryHenry(Male)-SunnySunny(Female)-apple' - 期望输出:
'apple-Henry(Male)-Sunny(Female)-apple'
解决方案代码
SELECT REGEXP_REPLACE('apple-HenryHenry(Male)-SunnySunny(Female)-apple', '([[:alnum:]]+)(\1)+', '\1') AS result FROM dual;
代码说明
- 利用
REGEXP_REPLACE函数结合正则表达式实现去重:([[:alnum:]]+):捕获由字母或数字组成的连续序列(作为第一个捕获组)(\1)+:匹配与第一个捕获组完全相同的内容,且该内容重复出现至少一次'\1':将匹配到的重复内容替换为捕获组中的单次内容,以此移除连续重复部分
内容的提问来源于stack exchange,提问作者Duy Nguyen TPV
相关产品推荐
相关产品推荐

