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
我必须在给定字符串 (varchar2) 中每 5 个字符后放置一个字符串。 给定的字符串可以有不同的长度。 我已经通过使用子字符串的循环解决了它。 有什么方法可以在 Oracle DB 中使用 REGEXP 达到目标吗?
您可以使用 REGEXP_REPLACE
将每 5 个字符替换为这 5 个字符后跟另一个字符串。例如:
SELECT REGEXP_REPLACE('ABCDE12345FGHIJ67890KL', '(.{5})', '*') FROM DUAL
输出:
ABCDE*12345*FGHIJ*67890*KL