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

Oracle中如何用正则表达式将字符串替换为多段带引号字符串?

解决Oracle中字符串转换问题

你需要的不是删除逗号,而是将逗号替换为',',再给整个字符串前后添加单引号,用普通的REPLACE函数就能实现,不需要复杂正则:

SELECT '''' || REPLACE('Cat,Dog', ',', ''',''') || '''' FROM DUAL;

逻辑说明:

  • REPLACE('Cat,Dog', ',', ''',''') 将原字符串中的逗号替换为 ',',得到 Cat','Dog
  • 在SQL中,两个连续的单引号''会被解析为一个实际的单引号,所以用''''拼接在前后,最终得到目标结果 'Cat','Dog'

如果要处理包含多个元素的字符串(比如'Cat,Dog,Bird'),这个方法同样适用,会输出'Cat','Dog','Bird'。

如果一定要用正则表达式,也可以用REGEXP_REPLACE,不过该写法更适合固定数量元素的场景:

SELECT REGEXP_REPLACE('Cat,Dog', '([^,]+),([^,]+)', '''\1'',''\2''') FROM DUAL;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 20:39:54