如何删除 - 从右到左读取字符串值时

How to remove - when reading string values right to left

我正在根据现有值中最右边的值创建新列 ABP-1-3-3 CBP-1-10-12-14

我能够从左侧读取的新列的预期值,我得到的值

-3 14

enter image description here

如何使用正则表达式替换来修改我的以下代码以删除任何 - ?

SUBSTR(TEST, -2, INSTR(TEST, '-')-1) AS TEST2,

试试这个:

with test as 
( select 'CBP-1-10-12-14' v1 from dual
  union 
  select 'ABP-1-3-3' v1 from dual
)
select regexp_substr( v1 , '[0-9]*$' )
from test

另请参阅 https://regex101.com/r/bS7hF5/1。这是一个整洁的网站。输入您的正则表达式字符串,它会 "translate" 将其描述为人类可读的描述。