[准备工作]
1、把每个段落标记替换为二个(查找内容“^p”,替换为“^p^p”)
2、把光标放在文章开始处(Ctrl+Home),因为WORD默认是从光标开始处查找。或者全选文档(Ctrl+A)。
[正式开始]
1、如果是连续的重复段落:
点击:编辑-替换
勾选通配符
查找内容:(^13[!^13]@^13){2,}
替换为:\1
全部替换
重复一下,看看有没有替换干净(一个段落一般不会重复255次以上吧,呵呵),不行就再来几次,直到
替换处数为0。
此命令效率非常之高!成千上万页内容可瞬间完成!
2、如果是不连续的重复段落:
点击:编辑-替换
勾选通配符
查找内容:(^13[!^13]@^13)(*)\1
替换为:^13\1\2
全部替换
重复几次,只到替换处数为0。
此命令对数百页文档可能需时较长,因为要执行循环比较,请耐心等候!
顺便解释一下,这段代码的意思:
查找内容:(^13[!^13]@^13){2,}
替换为:\1
^13表示段落标记, [!]表示“非”,[!^13]表示段落标记之外的任意单个字符;@表示一个以上的前一字符或表达式,它跟[!^13]一起表示一个以上的段落标记之外的字符,^13[!^13]@^13也就是包含前后段落标记的、有任意个字符的、非空的段落;用圆括号将其括起来(^13[!^13]@^13),意思是将这一部分加以标识,这是我们标识的第一部分,下面替换为框中的\1代表的就是它!
{n,}代表至少 n 个前一字符或表达式,那么{2,}当然就表示2个以上这样的段落(括号括起来的部分),注意,应该是完全相同的段落!注意这里的{2,}不可以用@来替代,如果用@的话,因为它也包括“一个”的情况,那么在执行的时候,所有的不重复的段落也会被它自己替换一遍,执行效率要大打折扣!
题外话:正则表达式里要是有一个代码表示“两个或两个以上”的意思,该多好啊!
另外,这段代码里,[!^13]这个思想我自己觉得用的比较好!电脑也好判断啊,赶快试试吧!
? Copyright Birdol.Com 2006-2014.
分类: 技术分享 | Tags: | 添加评论(2)
最新评论:
- 2015-04-20 21:23:26 PM,西安商家网站 : http://www.haoanke.com/
- 2013-07-24 00:59:00 AM,李明 : 没试过,你真是高人,谢谢分享!
相关文章:
- windows7开机密码PJ windows7忘记密码的解决办法 (2012-07-29)
- 为什么要 禁用前面板插孔检测,机箱前面的耳机才能用? (2017-07-26)
- 用win7建立无线局域网,可以共享上网可以局域网游戏 (2012-07-23)
- 百度文库、新浪爱问、豆丁、CSDN统统免积分下载 (2013-02-16)
- "Internet Connection Sharing cannot be enabled."解决办法 (2013-07-27)
欢迎转载,请保留出处,谢谢!