Oracle 中的正则表达式 - 在每 5 个字符后放置一个字符串

Regex in Oracle- put a string after each 5 characters

我必须在给定字符串 (varchar2) 中每 5 个字符后放置一个字符串。 给定的字符串可以有不同的长度。 我已经通过使用子字符串的循环解决了它。 有什么方法可以在 Oracle DB 中使用 REGEXP 达到目标吗?

您可以使用 REGEXP_REPLACE 将每 5 个字符替换为这 5 个字符后跟另一个字符串。例如:

SELECT REGEXP_REPLACE('ABCDE12345FGHIJ67890KL', '(.{5})', '*') FROM DUAL

输出:

ABCDE*12345*FGHIJ*67890*KL

Demo on dbfiddle