oracle 类似于0.7*ABC123+0.8*DE56-0.3*CS76的字符串怎么替换成0.7*ABC+0.8*DE-0.3*CS?

我请问下,oracle 类似于0.7*ABC123+0.8*DE56-0.3*CS76的字符串怎么替换成0.7*ABC+0.8*DE-0.3*CS?
最新回答
脸红妹妹

2024-09-19 01:45:07

你可以使用Oracle SQL中的正则表达式函数REGEXP_REPLACE来实现这个字符串的替换。以下是一个示例:
SELECT REGEXP_REPLACE('0.7*ABC123+0.8*DE56-0.3*CS76', '([A-Z]+)\d+', '\1')
FROM dual;
在这个SQL语句中,我们使用了REGEXP_REPLACE函数。第一个参数是要匹配的字符串,第二个参数是正则表达式,其中([A-Z]+)\d+表示匹配一个或多个大写字母后面跟着一个或多个数字的模式。([A-Z]+)用括号括起来表示这是一个捕获组,这将在后面用来替换匹配的字符串。\d+表示一个或多个数字。在替换字符串中,我们使用\1来引用第一个捕获组,即大写字母的匹配结果。
运行以上SQL语句,输出的结果为0.7*ABC+0.8*DE-0.3*CS,已去除了字母后面的数字。