editplus和ultraedit删除空行(ultraedit其它常用正则表达式替换)

通过正则表达式匹配,editplus和ultraedit删除空行

[@more@]

有时候我们千辛万苦地找到一篇文章,却有大量多余的空行,占据了许多篇幅,如果需要打印就非常浪费纸张。想要删除这些空行,可是这些空行要么不包含任何字符,要么包含了许多空格、制表符(Tab)。如果文章比较长,那么手工删除空行就成为一件颇费精力的事情。难道就没有别的办法?当然有!
  我们可以借助文本编辑器软件EditPlus、UltraEdit实现。EditPlus、UltraEdit是常见的共享软件,几乎所有软件下载网站都提供下载。由于EditPlus的操作更容易上手,但UltraEdit更为常用,所以本文先介绍在EditPlus中的操作,再介绍UltraEdit。

  一、在EditPlus中删除空行

  启动EditPlus,打开待处理的文件。需要注意,必须是纯文本文件,如果是Word文档,需要先粘贴到纯文本文件中。然后,步骤如下:

  1.选择Search菜单的Replace命令,出现如图所示的文本替换对话框。选中Regular expression(正则表达式)复选框,表明我们要在查找、替换中使用正则表达式。然后,选中Replace all range中的Current file,表明对当前文件操作(技巧提示:可以同时打开多个文件进行操作,在这里选中“All open files”)。

  空行正则表达式:^[ t]*n  
2.单击Find what组合框右侧的按钮 ,出现下拉菜单,如下图所示。菜单命令中,本文用得着的命令依次是:Tab Character(制表符)、New Line(新行/换行符)、Character in Range(指定范围内的字符)、Beginning of Line(行开始)、0 or More Matches(0个或多个符合条件的项)。

  

  下面的操作添加正则表达式,该表达式代表待查找的空行。(技巧提示:空行仅包括空格符、制表符、回车符,且必须以这三个符号之一作为一行的开头,并且以回车符结尾,查找空行的关键是构造代表空行的正则表达式)。

  (1)选择Beginning of Line,则Find what组合框中出现字符“^”,表示待查找的字符串必须出现在文本中一行的行首,才符合条件。

  (2)选择Character in Range,“^”后增加一对括号“[]”,当前插入点在括号中。括号在正则表达式中表示,文本中的字符匹配括号中任意一个字符即符合查找条件。

  (3)按一下空格键,添加空格符。空格符是空行的一个组成成分。

  (4)选择Tab Character,添加代表制表符的“ ”。

  (5)移动光标,将当前插入点移到“]”之后,然后选择0 or More Matches,添加了星号字符“*”。星号表示,其前面的括号“[]”内的空格符或制表符,在一行中出现0个或多个。

  (6)选择New Line,插入“ ”,表示回车符。

  至此,正则表达式构造成功(如下图)。

  

  3.Replace with组合框保持空,表示删除查找到的内容。单击Replace按钮逐个行删除空行,或单击Replace All按钮删除全部空行(注意:EditPlus和UltraEdit均存在Replace All不能一次性完全删除空行的问题,可能是程序BUG,需要多按几次按钮)。

  对于熟悉EditPlus的朋友,可以直接在Find what中输入正则表达式^[ ]* ,注意 前有空格符。

  二、在UltraEdit中删除空行

  使用UltraEdit的原理一样,但是UltraEdit没有提供菜单方式,所以需要手工输入正则表达式,而且UltraEdit的正则表达式符号与EditPlus不同。

  用UltraEdit打开文件后,选择Search菜单的Replace命令。在Replace对话框中,选中Regular Expression复选框,并在Find what中输入:%[ ^t]++^p,注意^t之前有空格。该表达式字符含义与EditPlus的相对应。然后,单击Start或Replace All按钮,进行替换删除空行。

删除空行: 替换 %[ ^t]++^p 为 空串

删除行尾空格: 替换 [ ^t]+$ 为 空串

删除行首空格: 替换 %[ ^t]+ 为 空串

每行设置为固定的4个空格开头: 替换 %[ ^t]++^([~ ^t^p]^) 为 " ^1"

每段设置为固定的4个空格开头: 替换 %[ ^t]+ 为 " "
(如果一行是以空格开始的,则视之为一段的开始行)

将一段合并为一行: 替换 [ ^t]++^p^([~ ^t^p]^) 为 ^1
(注意: 此处假定文本是以DOS方式回车换行 - CR/LF)

去掉HTML TAG: 替换 ^{^}^{^} 为 空串

删除HTML中的所有: 替换 为 空串

删除文本中指定的前2列字符: 替换 %?? 为 空串

在第4列后插入2列空白字符: 替换 %^(????^)^(?^) 为 "^1 ^2"

查找所有的数字: [0-9]+[.]++[0-9]+

查找所有的单词: [a-z]+

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/143526/viewspace-1058327/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/143526/viewspace-1058327/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值