巧用查找替换,一次提取出所有邮箱地址
小张是一家网络公司的新人,今天一早,老板给他一份Word文档,其中有很多电子邮件,但却混杂在中文文字之中。老板要求小张,尽快把文档中数百个电子邮件地址提取出来,以便群发公司广告邮件。
由于邮箱地址是混杂在中文文字之中,且几乎没有其它规律可循,而如果手工复制出来,估计三天三夜也弄不好,小张头大了一圈,也没有想出可行的办法。幸好老员工林子哥哥看小张可怜,给他支了一招,不到1分钟,就又好又快地完成了任务。
按照林子哥哥的指点,小张用WPS 文字打开老板交给的文档,按下Ctrl+F快捷键,调出“查找和替换”设置面板,在“查找内容”中输入“[A-z,0-9]{1,}@[A-z,0-9,.]{1,}”(不含外侧双引号),勾选“突出显示所有在该范围找到的项目T”,点击“高级”按钮,勾选“使用通配符U”(如下图)。
点击“查找全部F”按钮,即可一次性选中所有电子邮箱地址了。按下Ctrl+C快捷键,将选中的邮箱地址复制出来,新建一个空白文档,按Ctrl+V,就把所有电子邮箱地址复制到了新文档中。
几点说明:1、关于方括号的使用。在勾选了“使用通配符”的前提下,方括号表示查找括号中的所有内容之一。比如[ABCD],就是要查找ABCD四个字母中的一个即可。而[A-z]则表示字库中,从A到z之间的所有字符之一。在字库中,这个范围为所有大小写英文字母。如果方括号中有多个表达式,则表达式之间需要用英文状态下的半角逗号隔开。[A-z,0-9]即表示所有的英文字母和阿拉伯数字。
2、关于大括号。大括号,用来规定前面方括号中规定的范围中匹配字符的个数。比如“g[o]{1,2}d”,可以查到“god”和“good”两个单词中的任意一个。如果省略了逗号后面的数字,则表示匹配个数等于超过前一个数字的所有范围。如[A-Z]{4,},就表示连续4个以上的大写英文字母
3、关于反斜杠。在使用通配符情况下,有些字符本身是作为通配符使用的,如问号(?)、星号(*)等。如果要查找这些符号本身,则需要在前面加个反斜杠()。如上例中的“@”和“.”,要查找它们,前面都需要加上反斜杠。
注:此技巧以WPS文字2010个人版为例,在微软Office Word 2003/2007/2010中实现均可实现,具体方法稍有不同,在此不作赘述。