首页 > 解决方案 > 提取 = 和 之间的字符串,

问题描述

给定以下字符串

DEA=R,SL=R,CLIA=O,JCAHO=O

我必须提取和之间的=字符串,

我需要R,R,O,O

请建议我查询。

标签: sqloracle

解决方案


使用正则表达式来做到这一点。

假设您的字符串来自col1表上的列t1...

select regexp_replace(col1 
                       , '([A-Z]+)=([A-Z],?)'
                       , '\2' ) as extr_str
from t1;

此解决方案与发布字符串的格式紧密相关:一系列字母后跟等号,后跟单个字母(可选地后跟逗号)。您需要调整搜索模式以反映真实数据的变化。


推荐阅读