这样的word文档怎么删除重复段落且保留第一个重复段落,求代码

qq642658990 2017-10-31 06:41:08
附件中重复的标题段落怎么用代码删除,重复的第一个标题段落保留(要删除的我已经用黄色部分做了个标记做参考)
...全文
2376 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_42041452 2018-04-22
  • 打赏
  • 举报
回复
有时候,需要整理的文档有大量重复的段落,如何批量清除呢?      [准备工作]      1、把每个段落标记替换为二个(查找内容“^p”,替换为“^p^p”)      2、把光标放在文章开始处(Ctrl+Home),因为WORD默认是从光标开始处查找。或者全选文档(Ctrl+A)。         [正式开始]      如果是连续的重复段落:      点击:编辑-替换 勾选通配符      查找内容:(^13[!^13]@^13){2,}      替换为:\1      全部替换      重复一下,看看有没有替换干净(一个段落一般不会重复255次以上吧,呵呵),不行就再来几次,直到      替换处数为0。      此命令效率非常之高!成千上万页内容可瞬间完成!         如果是不连续的重复段落:      点击:编辑-替换      勾选通配符      查找内容:(^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,}不可以用@来替代,如果用@的话,因为它也包括“一个”的情况,那么在执行的时候,所有的不重复的段落也会被它自己替换一遍,执行效率要大打折扣!   题外话:正则表达式里要是有一个代码表示“两个或两个以上”的意思,该多好啊

1,508

社区成员

发帖
与我相关
我的任务
社区描述
Windows专区 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧