regex_replace无法按预期工作

时间:2014-05-15 12:38:09

标签: sql regex oracle

我们正在使用

regexp_replace(string,'([[:cntrl:]])|(^\t)','');

这不仅可以从字符串和制表符的开头和中间删除不可打印的字符,还可以删除前导小写的't'(如果它存在于字符串中,因为\t也是小写't'的正则表达式。< / p>

例如,如果我提供的字符串值为' Q W E R T Y'' T W E E T',则表示完全正常,并分别为我们提供值'QWERTY''TWEET'

但如果我提供输入' t WEE T',则会返回'WEET'作为输出。

请让我知道解决方法,因为这是完全不受欢迎的。

1 个答案:

答案 0 :(得分:1)

查看REGEXP_REPLACE的文档,看起来不支持\t

由于您似乎也在修剪空白区域,您是否考虑过使用[:blank:]\s

如果它是严格的制表符,你需要识别它,看起来你可以使用:

'([[:cntrl:]])|(^' || CHR(9) || ')'