You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle数据库中移除||分隔符间字符的正则表达式查询求助

Oracle 18c 移除||分隔符间内容的正则查询语句

针对你的需求,这里提供两种适配Oracle 18c的正则表达式解决方案:

方案一:直接替换并处理多余空格(推荐)

这个方案会同时移除||及其间的内容,以及前后的空白,替换为单个空格,避免结果出现连续空格:

SELECT REGEXP_REPLACE(
    'Hello this Marc ||www.stackoverflow.com|| welcome to our family',
    '\s*\|\|.*?\|\|\s*',
    ' '
) AS cleaned_string
FROM dual;

正则模式说明:

  • \s*:匹配0个或多个空白字符(空格、制表符等)
  • \|\|:匹配分隔符||(|是正则特殊字符,需用\转义)
  • .*?:非贪婪匹配任意字符,确保只匹配两个||之间的内容,不会跨多个分隔符段

方案二:分步处理

先移除||及其间内容,再清理连续空格:

SELECT REGEXP_REPLACE(
    REGEXP_REPLACE(
        'Hello this Marc ||www.stackoverflow.com|| welcome to our family',
        '\|\|.*?\|\|',
        ''
    ),
    ' {2,}',
    ' '
) AS cleaned_string
FROM dual;

两种方案都能得到你期望的输出:'Hello this Marc welcome to our family'

内容的提问来源于stack exchange,提问作者BODYBOND

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 20:45:42