站长资讯网
最全最丰富的资讯网站

ORACLE数据库中怎么求除数字、字母之外的非中文字符的正则表达式

最近做项目,有这样一需求:ORACLE数据库中求除数字、字母之外的非中文字符的正则表达式
如有如下字段,需将其中除字母、数字、汉字外的其他所有字符替换为空
‘asdfsad ,,;)()!@123234#$%^&*(我w 是e ? 中国人。./[]::‘’“”一人’

最终得到值:asdfsad123234我是中国人一人

select FN_REG_REPLACEOTHER(‘asdfsad ,,;)()!@#$%^&*(我是?中国人。./[]::‘’“”一人’,’需要的正则表达式,”) from dual;

谢谢。以下答案就勿跟贴:
(s)|(,)|(,)|(.)|(。)|(:)|(:)|(;)|(;)|())|())|(()|())|(()|(‘)|(‘)|(”)|(“)|(“)|(”)|([)|(]|(!)|(!)|(@)|(#)|(%)|(%)|(^)|(&)|(*)|(¥)|($)|(/)|(——解决方案——————–

select regexp_replace(‘asdfsad ,,;)()!@123234#$%^&*(我w 是e ? 中国人。./[]::‘’“”一人’
,'[[:punct:]|[:blank:]|[:space:]|[:cntrl:]]’,”) 
from dual
;

REGEXP_REPLACE(‘ASDFSAD,,;)
—————————–

asdfsad123234我w是e中国人一人

好了,本文的内容就到此为止了,希望对大家有用。

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号