让我们考虑下面的文字示例:
Lorem Ipsum只是印刷和排版行业的虚拟文本。 Lorem Ipsum一直是业界标准的虚拟文本 自16世纪以来,当一个未知的打印机采用了类型的厨房 把它拼凑成一本样本书。它不仅幸存下来 五个世纪,也是电子排版的飞跃, 基本保持不变。它在20世纪60年代随着推广而普及 释放包含Lorem Ipsum段落的Letraset表格,以及 最近使用像Aldus PageMaker这样的桌面出版软件 包括Lorem Ipsum的版本。
如何提取前10个字符和子字符串后的10个字符,让我们说“Lorem Ipsum”从Oracle的上一段?数据类型是clob。我一直在尝试使用SUBSTR等Oracle功能,但到目前为止还没有运气。感谢大家的帮助。
答案 0 :(得分:0)
您可以将regexp_replace
与反向引用结合使用:
select
regexp_replace(col, '.*?(.{0,10}Lorem Ipsum.{0,10}).*?','\1')
from t;
此处.
匹配任何字符,?
用于延迟匹配。对于给定的输入,它产生:
Lorem Ipsum is simplyindustry. Lorem Ipsum has been ontaining Lorem Ipsum passages,rsions of Lorem Ipsum.