>我正在尝试屏蔽字符串中一组字符的多个实例。
字符串最可能的变体是
- 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
演示