Oracle 屏蔽字符串中一组字符的多个实例 - 字符串中"phrase to be masked "的多个变体



>我正在尝试屏蔽字符串中一组字符的多个实例。

字符串最可能的变体是

  • BL-nn-nnn
  • BLnn-nnnnnnnnn
  • 布兰南南
  • BL-nnnnnnnnnnn

并用'BL-XX-XXXXXXX '屏蔽所有字符(请注意掩码字符串末尾的空格字符(字符串中还有其他单词也可以以 BL 开头。 非常感谢


REGEXP_REPLACE()功能的任何帮助。谢谢!

以下内容:

REGEXP_REPLACE(TEST_DATA, 'BL[-0-9 ]+', 'BL-XX-XXXXXXX ')

似乎做了你想做的事。

db<>小提琴在这里

首先使用带有[[:alnum:]]模式的regexp_replace()来表示数字或数字字符,从而删除所有破折号和格式:

select regexp_replace(replace(str,'-',''), 'BL([[:alnum:]]{2})([[:alnum:]]{7})','BL-1-2 ')  
as "Result String"
from tab

演示

相关内容

  • 没有找到相关文章

最新更新