我对oracle中的regexp_substr还是比较陌生。我只想从下面的字符串中提取字母数字字符。我已经在下面的查询中使用过,但它似乎没有按预期工作。
select
regexp_substr('Save up to 10% on National Brands and 20% on Quill Brand Laser Toner','[[:alnum:]]+') string
from dual;
我希望输出看起来像这样
节省多达10个民族品牌和20个Quill品牌激光碳粉
要么
保存到国家品牌上的10上,而Quill品牌激光上的20上的碳粉
提前致谢。 :)
最佳答案
我认为您正在寻找regexp_replace
select
regexp_replace('Save up to 10% on National Brands and 20% on Quill Brand Laser Toner',
'[^[:alnum:]]', '') string from dual;
SQL Fiddle
关于sql - 如何使用正则表达式选择字母数字字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27872353/