生活和工作过程中,经常需要将word文档中的某些内容进行查找和替换,通常情况下有这种需求的时候我们会“百度一下”查询解决方案。今天我也碰到了类似问题,但遗憾的是并没有能“百度一下”出通俗、简单、易操作的方案和教程。所以索性就花时间来写几个例子,整理下对应的方法。 下面直接举例来讲解如何使用正则表达式替换word中的一些内容: 例子1: 先看下我们需要达到的效果: 即在题号后增加换行符,实现题号单独占一行,题目内容单独占一行的效果。 实现思路: 首先正则查找到所有题号,此例中的题号是以数字(1-99)+中文顿号‘、’的方式组成的,所以需要用正则表达式匹配到这种规则 查阅正则表达式文档,得到查询表达式:(<[0-9]{1,2}>、) 括号‘()’主要用来替换时变量的匹配,等下替换会提到;‘<’符号代表单词开头;[0-9]代表匹配从0到9的数字;‘{1,2}’代表数字有1到2位,如果是‘{1,7}’,就是数字有1到7位;‘>’是单词的结尾;顿号‘、’则就代表字符串‘、’ 替换表达式为:\1^p ‘\1’代表第一个变量,‘^p’代表段落标记符号(此处做了修改,与图示略有不同,图示使用的是手动换行符‘^l’) 在word中打开“使用通配符”并复制查找和替换正则表达式到相应位置,点击替换,即可完成替换,整体动画效果图,如下所示 例子2: 将选项“B.”替换成换行符+“B.” 正则查询表达式为((<[B-G]{1,1}>).前有空格也要复制) (<[B-G]{1,1}>). 正则替换表达式为^p\1. 这里的替换表达式与图示也有所不同,图示使用的是手动换行符‘^l\1.’ 例子3: 将word内容转换成excel 如上图所示,选中所要转换的内容,点击左上角插入-表格-文本转换成表格: 完整的操作流程如下: 其他正则表达式可在word文档中查询,例如: |
|
来自: hdzgx > 《VBA之正则表达式》