• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    通过正则表达式删除空行的方法

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

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

    以前在网上看到一种实现是:
    \n[\s| ]*\r
    匹配之后,用null替代,也可以实现删除空行,效果如下图:

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

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

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

    仅用了
    \n\r
    就完全实现了删除所有的空行,因为在每一个空行的开头和结尾都是
    \n\r
    所以,删除了上一行之后,当前行还有一个\n\r,同样能够匹配上,所以,还要在做替代操作。这样,就可以删除所有的空行了。
    那,如果是
    \r\n,效果如何呢?
    我又做了一下测试,效果如下图:

    这个就不是我们想要的结果.为什么呢?
    我想,我们可以这样理解,
    C:\Program Files\Common Files\Relive.dll

    C:\Program Files\Common Files\svchost.exe

    C:\Program Files\Internet Explorer\msvcrt.bak
    C:\Program Files\Internet Explorer\msvcrt.dll

    C:\Program Files\Internet Explorer\msvcrt.ebk

    C:\WINNT\system32\drivers\npf.sys
    C:\WINNT\system32\wpcap.dll
    C:\WINNT\system32\Packet.dll
    C:\WINNT\system32\WanPacket.dll

    C:\Documents and Settings\User name\Local Settings\Temp\wmso.exe
    C:\Documents and Settings\User name\Local Settings\Temp\BCG5.tmp

    这个是原始文本,其实,在我们进行文本处理的时候,我们可以这样把空行,用
    \r\n(回车换行,先回车,后换行)
    来替换掉.文本就是:
    C:\Program Files\Common Files\Relive.dll\r\n\r\nC:\Program Files\Common Files\svchost.exe\r\n\r\nC:\Program Files\Internet Explorer\msvcrt.bak\r\nC:\Program Files\Internet Explorer\msvcrt.dll\r\n\nC:\Program Files\Internet Explorer\msvcrt.ebk\r\n\r\n\r\n\r\nC:\WINNT\system32\drivers\npf.sys\r\nC:\WINNT\system32\wpcap.dll\r\nC:\WINNT\system32\Packet.dll\r\nC:\WINNT\system32\WanPacket.dll\r\n\r\nC:\Documents and Settings\User name\Local Settings\Temp\wmso.exe\r\nC:\Documents and Settings\User name\Local Settings\Temp\BCG5.tmp\r\n\r\n\r\n

    这一段文本是一个整体,没有回车,没有空隙和间隔,这是我们正在处理的文本,只不过回车换行是不可见字符,所以就不能看到,但是还是存在的.
    所以,在处理的时候才会出现我们上面的情况.
    有此,我们可以理解为什么
    用\r\n匹配和替代后,
    所有的\r\n都没有了,所以,文本,就成为了一个连接的纯字符文本了.
    但是
    \n\r
    替换后,
    中间的所有的\n\r都替代掉了,\r(\n\r……\n\r)\n,中间的部分都替代掉了。所以就剩最后的一个\r\n.

    以上是我的一点理解。

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

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

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

    您可能感兴趣的文章:
    • 收集一些常用的正则表达式(匹配中文字符、匹配双字节字符、匹配HTML标记、匹配空行 and so on~~~)
    • javascript 正则表达式去空行方法
    上一篇:js正则判断非法字符限制输入
    下一篇:JS 正则表达式用法介绍
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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