Oracle - regexp_replace 检查由多行组成的字符串中每一行的开头

Oracle - regexp_replace to check beginning of each line in a string consisting of many lines

我有一个随机字符串,由许多行组成,每行中的字符数不同。我需要转换这个字符串,使每行有固定数量的字符,比如 10 个。此外,我的每条新行都不应该以 :

开头

我试过了:

l_str:=replace(l_str,chr(10),''); -- 首先创建一个长字符串 : 我编写了将新的长字符串分成 10 个字符的行的逻辑。 现在每一行我都用了

l_str:=regexp_replace(l_str,'^:','/');

然后我连接了所有的行。

我可以先将整个字符串连接成一个,然后再使用 regexp_replace 吗? 是否可以使用 regexp_replace 本身检查每行的开头?

是的,如果您将 match_parameter 设置为 'm'(对于多行)。有关 REGEXP_LIKE.

的文档中有更多信息

参见f.i。 here or here.