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

Oracle中交换cr_id字段内DL_KZ与ID子串顺序的方法

实现cr_id字段内ID与DL_KZ子串位置互换的方法

场景1:SQL数据库中批量更新字段

如果数据存储在SQL数据库中,可通过正则替换函数完成批量修改,以下是主流数据库的实现语句:

MySQL/MariaDB

UPDATE your_table
SET cr_id = REGEXP_REPLACE(cr_id, '\\[(DL_KZ#[^\\]]+)\\]\\[(ID#[^\\]]+)\\]', '[$2][$1]');

PostgreSQL

UPDATE your_table
SET cr_id = REGEXP_REPLACE(cr_id, '\[(DL_KZ#[^\]]+)\]\[(ID#[^\]]+)\]', '[$2][$1]');

说明:正则会匹配[DL_KZ#xxx][ID#xxx]格式的字符串,将两个方括号内的内容分别捕获为分组,再调换分组顺序输出,实现ID子串前置的效果。


场景2:Python脚本处理字符串

如果需要在代码中处理这类数据,可使用Python的re模块完成替换:

import re

def swap_cr_id_content(cr_id_str):
    return re.sub(r'\[(DL_KZ#[^\]]+)\]\[(ID#[^\]]+)\]', r'[\2][\1]', cr_id_str)

# 测试示例
samples = [
    "[DL_KZ#123456789][ID#123456789]",
    "[DL_KZ#987654321][ID#987654321]",
    "[DL_KZ#987654321][ID#123456789,987654321]"
]

for sample in samples:
    print(swap_cr_id_content(sample))

运行后输出目标格式:

[ID#123456789][DL_KZ#123456789]
[ID#987654321][DL_KZ#987654321]
[ID#123456789,987654321][DL_KZ#987654321]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 06:48:19