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

Posted

技术标签:

【中文标题】Oracle - regexp_replace 检查由多行组成的字符串中每一行的开头【英文标题】:Oracle - regexp_replace to check beginning of each line in a string consisting of many lines 【发布时间】:2018-11-09 13:12:20 【问题描述】:

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

开头

我试过了:

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

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

然后我将所有行连接起来。

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

【问题讨论】:

如果您编辑原始帖子以显示您正在使用的文本的真实示例以及处理后应该是什么样子的示例,将会有所帮助。 【参考方案1】:

是的,如果您将 match_parameter 设置为 'm'(对于多行)。有关REGEXP_LIKE 的文档中有更多信息。

参见 f.i. here 或 here。

【讨论】:

以上是关于Oracle - regexp_replace 检查由多行组成的字符串中每一行的开头的主要内容,如果未能解决你的问题,请参考以下文章

将 Oracle Regexp_replace 函数转换为 Netezza

oracle 的 regexp_replace 替换 https 不起作用

试图了解oracle REGEXP_REPLACE如何工作

关于 Oracle Regexp_Replace

如何在 edb 中使用相同的 REGEXP_REPLACE(Oracle sql)

oracle 使用 REGEXP_REPLACE 函数替换子字符