0

我的输入值是这样的:

Value:123 with subvalues:[134,135,136]

我只想从中提取所有数字,并在它们至少由一个非数字字符分隔时保持逗号分隔。我现在正在使用这个:

regexp_replace(message,  '[^[:digit:]]')

这会拉出数字,但显然甚至将这些数字之间的空格替换为空。我怎样才能得到结果:

123,134,135,136
4

1 回答 1

2
select
    regexp_replace(
        regexp_replace(
            'Value:123 with subvalues:[134,135,136]',
            '[^[:digit:]]+', ','),
        '^,+|,+$'
    ) as s
from dual;

结果:

s
---------------
123,134,135,136
于 2013-06-25T21:32:12.850 回答