如何使用word正则表达式执行批量替换,从大量信息中提取想要的内容

in HIVE CN 中文社区2 years ago

word查找和替换功能平时很常用,但是使用正则表达式,很少有朋友用过。

需求

小蜜蜂今天遇上了这样的需求,如图,其他内容都不要,只要画框中的内容。并且,这样的数据有1000多条,手动是肯定不现实的。

image.png

小蜜蜂以前就知道word也有正则表达式可以使用,今天就研究了一下。基本上使用两次,第一次,把画框上方的内容替换掉,第二次是把画框下方的内容替换掉。这样就剩下了想要的内容。

第1行

数字
<[0-9]{1,4}>^13
[0-9]表示是一个数字,{1-4}表示这个数长度是从到1到4,<>表示是一个单词,^13表示换行。

第2行

^13 换行

第3行

直接用文字就行,别忘了后面换行符 logo^13。

第4行

这一行内容是项目名,可能包含大小号字母、数字、"."、空格等符号。所以使用排除法:
[!^13/]{1,}^13
!表示排除,后面跟着^13和/,表示不包括换行和斜杠,{1,}表示字符长度大于1,没有上限,^13。

替换

按下ctrl+h,输入正则表达式,勾选“使用通配符”,替换内容为空。
image.png

在替换之前,可以先点查找,确认正则表达式没问题,再点击全部替换。

替换后:

image.png

第1-3行

$[0-9,.]{1,}^13^13$[0-9,.]{1,} ^13
[0-9,.]表示这个字符可以是0-9,也可以是. 也可以是,
{1,}表示这个字符串长度大于1,没有上限
^13表示换行
第3行和第1行一样

第4-5行

[0-9,<.-]{1,}%^13^13
原理同上

第6-7行

$[0-9,.]{1,}^13^13

第8-11行

[0-9,-<.]{1,}%^13^13[0-9,-<.]{1,}%^13^13

第12-14行

$[0-9,.]{1,}^13^13Recently

可以一行一行的替换,防止出错,也可以一起。

image.png

批量替换以后,留下的就是需要的内容

image.png

然后把^13^13批量替换成^13,反复操作,清除多余空行
最后再检察一下,整理好就差不多了。

注意

在操作过程中,每次批量替换以后,都可以把/批量换成/,不是为了替换,是为了统计一下数量没有少。如果数量少了,要撤销操作,以防过程中出错。