如果你问身边任何一个会使用Word的人这么一个问题:
你用过Word中的查找替换功能吗?
十个人中会有九个回答,当然用过。
如果你接着问:
你知道Word的查找替换功能有多厉害吗?
十个人中有九个人会回答说:
不就是查找特定字符,然后替换成另外的字符么?有什么厉害的?
我在《厉害!Word居然可以实现Excel数据复杂分列》中用一个很简单的例子,来演示了如何用Word的查找替换实现在Excel中需要很复杂的操作才能完成的复杂分列。
当时限于该文主题,只做了案例展示,未全面介绍Word的查找替换功能究竟能帮我们实现哪些让人眼前一亮的功能。
这篇文章准备来全面梳理一下Word查找替换的应用场景及案例,帮助我们在日常使用Word过程中节省大量时间。
关于Word中查找替换的基础知识,网上相关资料汗牛充栋,我不再赘述。有不明白的建议去查找相关资料。
我只提几点很容易被人忽视的基础知识。
1.可查找的特殊格式(27个)多于可替换的特殊格式(20个)
2.勾选通配符和不勾选通配符,可查找的特殊格式有相同也有不同;可替换的特殊格式同样如此。
3.不仅可以查找替换内容,还可以查找替换内容的格式。
尽管如此,涉及到文字和段落格式的更换,我建议还是使用样式来完成,而不是用查找替换来更换格式,除非样式无法解决你的格式问题,再考虑使用查找替换功能来替换格式。
4.我们可以精确查找,也可以通过模糊查找(模式查找),但是只有精确匹配,不会有模糊匹配(因为这样没什么意义)
5.特殊格式及通配符替换,主要用于解决复杂场景的查找替换。尤其是通配符,也就是所谓的正则表达式,是复杂查找的利器,它能实现的功能取决于我们的想象力。不过Word中的正则表达式和其他通用正则表达式不太一样,功能也有较大程度的缩水。尽管如此,依然很强大。
6.查找出来的结果并不一定要替换,因为它们一旦被找到就是选中状态,所以可以将它们复制到别的地方,或者直接为其应用格式等操作。
7.以下是Word查找替换代码清单
记不住没关系,在特殊格式里基本都能找到,个别找不到的百度一下即可。
即查找特定字符(而不是模式)然后对其进行处理(复制、应用格式等),或将其替换成新的内容(注意替换内容为空也属于新的内容)。
这是Word查找替换中最简单的功能。也是平时我们使用最多的功能。
应用场景:比如在修改合同时,只想查找方案中的客户名称及签订日期,将其设置特定格式或替换成别的内容。
即通过使用通配符或其他代表某一类字符的代码,来查找内容然后对其处理,或者替换之。
最常见的例子是对具有某个特征的字符串进行批量处理,如字体加粗或直接替换删除。
上面的例子就是把所有书名号里边的内容全部清除。
或者我们想把试卷中选择题的答案清除:
当精确查找/替换和模糊查找/替换都难以实现想要的操作时,就需要考虑模式查找和替换。
我在《厉害!Word居然可以实现Excel数据复杂分列》中就使用的是模式匹配来实现查找替换。
模式查找替换其实就是组合通配符,形成一种匹配模式,凡是符合这种模式的,Word都会进行查找和替换。
最常见的是查找身份证,代码为【[0-9]{18}】。
或者查找电话号码,代码为【(<1)([0-9]{10})】。
查找邮编,代码为【[0-9]{6}】。
模式查找和替换的关键在于对通配符表达式进行分组(通过英文小括号实现),通过分组来灵活处理。我在《厉害!Word居然可以实现Excel数据复杂分列》就使用了分组。
Word查找和替换功能由于正则表达式的加持,尽管比一般正则表达式而言,功能有缩水,但依然很强大。灵活运用它,可以将mission impossible变为小菜一碟,能运用到哪些场景依赖于我们的想象力。
当你遇到需要对Word中的很多内容进行复杂处理时,建议优先考虑查找和替换。而不一定非要找大神帮你写VBA代码。
当然,Word大神应该还有更多查找替换的神奇例子,我准备找个时间全面搜集一下这些神奇例子,给大伙儿开开眼界。