手机版

通过正则表达式删除空行的方法

时间:2021-11-08 来源:互联网 编辑:宝哥软件园 浏览:138

我们的目标是删除文本中的空行,空行可能是一行,也可能是多行。所以我的操作如下:reg3.PNG

在这里,我们使用(\r\n)*来匹配空行,这样我们就可以匹配多个空行,并用null替换它们,从而可以删除空行。此方案基于\r和\ n的使用。以前在互联网上看到的一个实现是:\n[\s| ]*\r匹配后,用null替换它,或删除空行。效果如下:reg4.PNG

两种方案都能达到同样的效果。如果有其他不同的理解,请评论,一起进步。我又做了如下测试,如下所示:reg5.PNG

完全删除所有空行只需要\n\r,因为每一空行的开始和结束都是\n\r,所以删除前一行后,当前行还有一个\n\r,也可以匹配,所以需要替换。这样,您可以删除所有空行。那么,如果是\r\n,效果如何?我又做了一个测试,效果如下:reg6.PNG

这不是我们想要的结果。为什么呢?我想我们可以这样理解,c: \程序文件\常用文件\ relief.dll。

C: \程序文件\公共文件\svchost.exe

c : \程序文件\ Internet Explorer \ msvcrt . bak c : \程序文件\Internet Explorer\msvcrt.dll

C: \程序文件\互联网浏览器

c : \ WINNT \ system32 \驱动程序\ NPF . sysc : \ WINNT \ system32 \ wpcap . dllc 3360 \ WINNT \ system32 \ packet . dllc : \ WINNT \ system32 \ wanpacket . dll

C: \文档和设置\用户名\本地设置\ temp \ wmso.exec: \文档和设置\用户名\本地设置\ temp \ bcg5.tmp这是原文。实际上,在文本处理过程中,我们可以用\r\n(先输入新行,再输入新行)替换空行。文本是c: \程序文件\公共文件\ relief.dll \ r \ n \ r \ n 360 \程序文件\公共文件\。r \ n \ r \ nc3360 \程序文件\ Internet Explorer \ msvcrt . bak \ r \ nc3360 \程序文件\ Internet Explorer \ msvcrt . dll \ r \ n \ nc3360 \程序文件\ Internet Explorer \ msvcrt . ebk \ r \ n \ r \ n \ r \ n \ r \ nc3360 \ WINNT \ system32 \驱动程序\ NPF . sys \ r \ nc3360 \ WINNT \ system32 \ wpcap . dll \ r \ n这是我们正在处理的文本,但是回车是一个看不见的字符,所以它看不见,但是它仍然存在。因此,只有当我们处理它时,才会出现上述情况。因此,我们可以理解为什么所有的\ r \都被混合和替换,所以文本成为一个连接的纯字符文本。但是,在\ n \ r放置之后,中间的所有\ n \ r都会被替换。\ r (\ r)。所以只有最后一个\ r \ n .以上是我的理解。

PS:这里有两个正则表达式在线工具,供大家参考:

JavaScript正则表达式在线测试工具:http://tools.jb51.net/regex/javascript.

在线正则表达式生成工具:http://tools.jb51.net/regex/create_reg.

版权声明:通过正则表达式删除空行的方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。