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

Oracle中如何提取处理字符串 输出首字母大写单下划线分隔结果

Oracle 字符串提取与格式化实现方法

针对给定的带HTML标签、冗余下划线、首尾空格的字符串,可按固定处理顺序用Oracle内置函数组合实现清洗转换,最终输出符合要求的结果。

核心实现SQL

SELECT
  INITCAP(
    TRIM(
      BOTH '_' FROM 
      REGEXP_REPLACE(
        TRIM(
          REGEXP_REPLACE('<strong>peter_________Parker_____may</strong>___   ', '<[^>]+>', '')
        ),
        '_+',
        '_'
      )
    )
  ) AS cleaned_result
FROM dual;

上述SQL执行后直接返回目标结果:Peter_Parker_May

逐步骤处理逻辑

  • 移除HTML标签:通过REGEXP_REPLACE(源字符串, '<[^>]+>', '')匹配所有<开头、>结尾的标签片段,替换为空值,处理后得到中间串peter_________Parker_____may___
  • 清理首尾无效空白:用基础TRIM()函数移除字符串首尾所有空格,处理后得到中间串peter_________Parker_____may___
  • 合并连续下划线:通过REGEXP_REPLACE(待处理串, '_+', '_')匹配1个及以上连续的下划线,统一替换为单个下划线,处理后得到中间串peter_Parker_may_
  • 移除首尾残留下划线:用TRIM(BOTH '_' FROM 待处理串)移除字符串首尾残留的下划线,处理后得到中间串peter_Parker_may
  • 单词首字母大写:调用Oracle内置INITCAP()函数,自动将非字母字符(此处为下划线)分隔的每个单词首字母转为大写,其余字母转为小写,最终得到目标结果。

若待处理字符串包含更复杂的嵌套HTML标签、特殊符号,可根据实际业务规则调整对应正则匹配规则即可,当前示例场景下上述代码可直接运行使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 16:48:45