我想用 2 个换行符替换每个出现超过 3 次的换行符。
例:
'
line
line after en empty line
line after 2 empty line
line after 0 empty lines
'
必须成为那个
'
line
line after en empty line
line after 2 empty lines
line after 0 empty lines
'
我试过了
SELECT REGEXP_REPLACE (mytext,'*(' || CHR (10) || ')+', CHR (10)) FROM DUAL;
但它用 2 个换行符替换所有换行符组。
'
line
line after en empty line
line after 2 empty lines
line after 0 empty lines
'
我试过了
SELECT REGEXP_REPLACE (mytext, '{2,}(' || CHR (10) || ')+', CHR (10) || CHR (10)) FROM DUAL;
因为文档 (https://www.techonthenet.com/oracle/functions/regexp_replace.php)
{m,}
至少匹配m
次。
但结果是一样的。
如何仅将一组空行替换为空行?
更新: 建议的代码
REGEXP_REPLACE (mytext, CHR(10) || '{2,}', CHR(10) || CHR(10))
适用于快速每种情况,但不适用于以下情况:
'
line after n empty lines
'
成为
'
line after 2 empty lines
'
因为第一行之前没有 chr(10)。
我更改了模式以匹配以考虑到这一点:
SELECT REGEXP_REPLACE ((mytext, CHR(10) || '{2,}) | (' || CHR(10) || '{1,}), CHR(10) || CHR(10)) FROM DUAL;
但在这种情况下,我必须只添加一个换行符。 我怎么写?
2 个换行符替换每个超过 3 次的换行符。
您可以使用以下方法替换三个或更多换行符的实例:
SELECT REGEXP_REPLACE(value, CHR(10) || '{3,}', CHR(10) || CHR(10))
AS replaced_value
FROM table_name;
其中,对于示例数据:
CREATE TABLE table_name (value) AS
SELECT 'line
line after an empty line
line after 2 empty line
line after 0 empty lines'
FROM DUAL;
输出:
<
th style="text-align: left;">REPLACED_VALUE 行 2 空行后行 0 空行
后计数器放在错误的位置。它必须在您要重复的表达式之后,而不是在它之前。
您希望将至少出现两次的所有换行符替换为双换行符:
REGEXP_REPLACE (mytext, CHR(10) || '{2,}', CHR(10) || CHR(10))
演示:https://dbfiddle.uk/?rdbms=oracle_18&fiddle=f0051da5b892d1b0401c90530bb36e12
对于少换行的第一行,最好的选择可能是暂时添加换行符(即在使用
SUBSTR
REGEXP_REPLACE
后将其删除)。所以最后的表达式变成:SUBSTR(REGEXP_REPLACE (CHR(10) || mytext, CHR(10) || '{2,}', CHR(10) || CHR(10)), 2)
演示:https://dbfiddle.uk/?rdbms=oracle_18&fiddle=fd4909a01a2496e449104c35343ca3f1
我们需要使用
CHR(10){2,}
来指定我们将 2 个或更多次出现的换行符替换为 2 个换行符CHR(10) || CHR(10)
。create table test (col varchar(1000));
insert into test (col) values ('line line after en empty line line after 2 empty line line after 0 empty lines');
select * from test;
line line after en empty line line after 2 empty line line after 0 empty lines
SELECT REGEXP_REPLACE (col,CHR (10) || '{2,}', CHR (10) || CHR (10) ) FROM test;|
line line after en empty line line after 2 empty line line after 0 empty lines
db<>小提琴在这里
相关内容
- 用python中对应的一组字符替换一组字符的第二次出现
- 是否有办法用R中的不同集合替换一组单词?
- r语言 - 如何在数据框架中替换一组列和单行的值?
- 替换一组元素
- 如何替换一组html元素来代替同一组件中React组件呈现的DOM中的子元素
- 用数据帧中的一组标题替换一组数字
- 用Pandas中的多数票替换一组中的重复票
- gsubfn在R中,如何有条件地只替换一组字符串中的第二组数字
- 用另一组字符替换一组字符
- 用文本框替换一组特定的特殊字符,并从每个文本框中检索值
- Kotlin / Regex - 用重复字符替换一组模式
- r语言 - 如何替换一组标识字符串中除一个字符之外的所有字符(每个字符串中不替换不同的字符)?
- 如何有效地替换一组连续的位
- 替换一组字符串不起作用
- 根据条件替换一组列中的值
- 如何使用 sed 有选择地替换一组三个字符
- 使用Shell脚本在文本文件中替换一组单词
- PHP-替换一组特定字符,然后替换后3个字符
- 在安卓中替换一组字符(文本=文本.replace('aa','2'))
- 用于替换一组文件中的一组字符串的脚本
最新更新
- 有可能从手机中获得指纹或人脸验证吗?
- File IO From a JAR File
- 如何获得上下文在一个简单的类没有BuildContext在扑动
- 无法向 Tkinter 窗口添加背景
- 如何将RGB图像转换为灰度,但保持一种颜色?——Java
- 我应该在Docker内部还是在虚拟环境中安装气流?
- 属性错误: 'DataFrame'对象没有属性'assign'
- 如何在每次在DirectoryInfo.GetFiles()中加载新文件时执行操作?
- HTML中的Javascript在Angular中不起作用
- 如何在firebase中调度大约每整小时运行一次的函数?
- Uncaught TypeError:不能访问数组上字符串类型的偏移量
- Switch(Select)在TRANSFORM和Select之间工作吗?
- MySQL SELECT查询工作,但具有相同WHERE子句的UPDATE查询不工作
- drupal 10 localhost站点:如何在安装和注销后访问登录页面
- Flutter原生启动画面图像未出现- Flutter (Dart)
- 用另一个远程分支覆盖一个远程分支
- 邮递员说"The route api...could not be found."(拉拉维尔)
- Firebase Messaging项目Google Analytics升级失败
- 在初始页面加载时未应用FacetWP查询顺序数组设置
- GitHub邀请过期吗?
- 使用AWS秘密管理器端点的安全组
- 如何做基于名称和值的点击事件?
- 在容器和主机上创建具有相同Linux用户id的用户
- Firebase身份验证在部署后不工作.扑动Web应用程序显示空白的白色屏幕
- AWS Client VPN Access Public URL/IP
- python dict get方法即使key在dict中也运行第二个参数
- 如何在Python中使用每周时间序列
- Scss函数没有返回计算值
- 如何使用conduit获取一个lazy ByteString并将其写入文件(在恒定内存中)
- c -内存分配器-简单隔离存储:你如何从它的地址推断分配块的大小?
热门标签:
javascript python java c# php android html jquery c++ css ios sql mysql arrays asp.net json python-3.x ruby-on-rails .net sql-server django objective-c excel regex ruby linux ajax iphone xml vba spring asp.net-mvc database wordpress string postgresql wpf windows xcode bash git oracle list vb.net multithreading eclipse algorithm macos powershell visual-studio image forms numpy scala function api selenium