【问题标题】:regex_replace not working as expectedregex_replace 没有按预期工作
【发布时间】:2014-05-15 21:27:38
【问题描述】:

我们正在使用

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

这不仅是从字符串和制表符的开头和中间删除不可打印的字符,而且如果它存在于字符串中,也会删除前导小写“t”,因为\t 也是小写“t”的正则表达式。

例如,如果我提供的字符串值为' Q W E R T Y'' T W E E T',它工作得非常好,并分别为我们提供值'QWERTY''TWEET'

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

请告诉我解决方案,因为这是完全不受欢迎的。

【问题讨论】:

    标签: sql regex oracle


    【解决方案1】:

    查看REGEXP_REPLACE 的文档,似乎不支持\t

    既然您似乎也在修剪空白,您是否考虑过使用[:blank:]\s

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-19
      • 2020-03-18
      • 2012-06-14
      • 2014-11-15
      • 1970-01-01
      • 2012-07-02
      • 2011-09-07
      • 2013-03-03
      相关资源
      最近更新 更多