手机
当前位置:查字典教程网 >编程开发 >正则表达式 >通过正则表达式删除空行的方法
通过正则表达式删除空行的方法
摘要:我们的目标是要删除文本中的空行,可能一行也可能是多行。所以,我的操作如下:在此,我们匹配空行用的是(rn)*这样,就可以匹配多个空行,同时用...

我们的目标是要删除文本中的空行,可能一行也可能是多行。

所以,我的操作如下:

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

在此,我们匹配空行用的是

(rn)*

这样,就可以匹配多个空行,同时用null来替代,就可以实现删除空行。此方案是基于对r和n的使用。

以前在网上看到一种实现是:

n[s| ]*r

匹配之后,用null替代,也可以实现删除空行,效果如下图:

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

两种方案都能实现相同的效果。

如果有其他的不同理解,请发表评论,大家共同进步。

我又做了以下测试,如下图:

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

仅用了

nr

就完全实现了删除所有的空行,因为在每一个空行的开头和结尾都是

nr

所以,删除了上一行之后,当前行还有一个nr,同样能够匹配上,所以,还要在做替代操作。这样,就可以删除所有的空行了。

那,如果是

rn,效果如何呢?

我又做了一下测试,效果如下图:

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

这个就不是我们想要的结果.为什么呢?

我想,我们可以这样理解,

C:Program FilesCommon FilesRelive.dll

C:Program FilesCommon Filessvchost.exe

C:Program FilesInternet Explorermsvcrt.bak

C:Program FilesInternet Explorermsvcrt.dll

C:Program FilesInternet Explorermsvcrt.ebk

C:WINNTsystem32driversnpf.sys

C:WINNTsystem32wpcap.dll

C:WINNTsystem32Packet.dll

C:WINNTsystem32WanPacket.dll

C:Documents and SettingsUser nameLocal SettingsTempwmso.exe

C:Documents and SettingsUser nameLocal SettingsTempBCG5.tmp

这个是原始文本,其实,在我们进行文本处理的时候,我们可以这样把空行,用

rn(回车换行,先回车,后换行)

来替换掉.文本就是:

C:Program FilesCommon FilesRelive.dllrnrnC:Program FilesCommon Filessvchost.exernrnC:Program FilesInternet Explorermsvcrt.bakrnC:Program FilesInternet Explorermsvcrt.dllrnnC:Program FilesInternet Explorermsvcrt.ebkrnrnrnrnC:WINNTsystem32driversnpf.sysrnC:WINNTsystem32wpcap.dllrnC:WINNTsystem32Packet.dllrnC:WINNTsystem32WanPacket.dllrnrnC:Documents and SettingsUser nameLocal SettingsTempwmso.exernC:Documents and SettingsUser nameLocal SettingsTempBCG5.tmprnrnrn

这一段文本是一个整体,没有回车,没有空隙和间隔,这是我们正在处理的文本,只不过回车换行是不可见字符,所以就不能看到,但是还是存在的.

所以,在处理的时候才会出现我们上面的情况.

有此,我们可以理解为什么

用rn匹配和替代后,

所有的rn都没有了,所以,文本,就成为了一个连接的纯字符文本了.

但是

nr

替换后,

中间的所有的nr都替代掉了,r(nr……nr)n,中间的部分都替代掉了。所以就剩最后的一个rn.

以上是我的一点理解。

PS:这里再为大家提供2款本站的正则表达式在线工具供大家参考使用:

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

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

【通过正则表达式删除空行的方法】相关文章:

正则表达式笔记三则

正则表达式 学习参考 推荐入门者看

javascript正则表达式容易被忽略的小问题整理

使用正则表达式替换表情符号核心代码

正则表达式不包含属性

javascript中使用正则表达式实现删除字符串中的前后空格

[正则表达式]贪婪模式与非贪婪模式

javascript正则表达式分析第1/2页

PHP 正则表达式常用函数使用小结

正则表达式字面量在ECMAScript5中的变化

精品推荐
分类导航