查找和替换的应用
  

  
  
  
  Word 2016提供了强大的查找和替换功能,可以将用户从烦琐的人工修改中解脱出来,从而实现高效率的工作。
  本章通过几个案例介绍Word的查找和替换应用技巧。
3.1  删除空白符号和空行
  1. 删除空白符号
  在Word文档中,空白符号包括半角空格、全角空格、不间断空格、1/4长划线、制表符等。
  用“查找和替换”功能,可以快速删除文档中的全部空白符号。方法是:
  (1)按Ctrl+Home键将光标定位到文件头。在“开始”选项卡的“编辑”选项组中,单击“替换”按钮,或者按Ctrl+H键,打开“查找和替换”对话框。
  (2)在“查找内容”文本框中输入“^w”,保持“替换为”文本框为空,取消“使用通配符”和“区分全/半角”复选框的选择,如图3-1所示。单击“全部替换”按钮,将会删除全部空白符号。


图3-1  删除空白符号
  取消“使用通配符”和“区分全/半角”复选框的选择时,“查找内容”文本框中的“^w”表示半角空格、全角空格、不间断空格以及制表符的任意组合。
  可用复制、粘贴的方法指定查找内容,也可在“查找和替换”对话框中单击“特殊格式”按钮,设定查找内容。
  2. 删除空行
  所谓空行,是指段落中只有一个硬回车符或软回车符的情况。硬回车符是按Enter键生成的符号,也叫段落标记。软回车符是按Shift+Enter键的结果,也叫手动换行符。
  用以下方法,可以快速删除文档中的全部空行。
  (1)按Ctrl+A键选中全部文档,按Ctrl+H键打开“查找和替换”对话框。
  (2)在“查找内容”文本框中输入“[^13^l]{2,}”,在“替换为”文本框中输入“^p”,勾选“使用通配符”复选框,如图3-2所示。单击“全部替换”按钮。


图3-2  删除空行
  在查找内容当中,“[]”表示指定字符之一,“^13”是硬回车的代码,“^l”是软回车的代码,“[^13^l]{2,}”的含义是查找至少2个硬回车符或软回车符。
  3. 查找和替换代码
  在“查找和替换”对话框中,查找和替换的内容可以用代码表示。表3-1列出了常用代码及其用法。

表3-1  常用代码
目 标 内 容
代    码
不勾选“使用通配符”复选框
勾选“使用通配符”复选框
任意数字
^#
√

任意英文字母
^$
√

空白符号
^w
√

半角空格
^32
√
√
段落标记
^p
√

段落标记
^13
√
√
手动换行符
^l 或 ^11
√
√
制表符
^t
√
√

  例如,查找空白符号,可以使用代码“^w”,但要取消“使用通配符”复选框的选择。查找制表符,可以使用代码“^t”,对“使用通配符”复选框状态无要求。
  另外,代码“^&”表示“查找内容”文本框的内容,只能在“替换为”文本框中使用。
  4. 查找和替换通配符
  通配符是一组键盘字符,在进行查询时可用于表示一个或多个字符。例如,问号“?”代表单个任意字符,星号“*”代表多个任意字符。表3-2列出了Word常用通配符,并给出了每种通配符的示例供查阅。
表3-2?常用通配符
目 标 内 容
通配符
示??例
单个任意字符
?
“?国”匹配“中国”“美国”“英国”
“???国”匹配“孟加拉国”
多个任意字符
*
“*国”匹配“中国”“美国”“孟加拉国”
指定字符之一
[]
“[中美]国”匹配“中国”“美国”
“[大中小]学”匹配“大学”“中学”或“小学”
th[iu]g匹配thigh和thug
指定范围内的
任意单个字符
[x-z]
[a-e]ay 匹配bay、day
[a-c]mend匹配amend、bmend、cmend
[0-9]匹配任意单个数字
[a-zA-Z]匹配任意英文字母
[^1-^127]匹配所有西文字符
排除指定范围内
的任意单个字符
[!x-z]
[!c-f]ay匹配bay、gay、lay,但不匹配cay、day
m[!a]st匹配mist、most,但不匹配mast
[!^1-^127]匹配所有中文汉字和中文标点
前一字符的个数
{n}
cho{1}se匹配chose
cho{2}se 匹配choose
te{2}n匹配teen而不匹配ten
至少n个前一字符
{n,}
fe{1,}d匹配fed、feed
前一字符数范围
{n,m}
cho{1,2}匹配chose、choose
一个以上的前一字符
@
cho@se匹配chose、choose
                                                                                   续表    
目 标 内 容
通配符
示??例
指定起始字符串
<
<ag匹配ago、agree、again
<te匹配ten、tea
指定结尾字符串
>
er>匹配ver、her、lover
en>匹配ten、pen、men
表达式
( )
查找“(America)(China)”,替换为“\2 \1”,则
将“America China”替换为“China America”
3.2  获奖学生名单整理
  在一个Word文档中,录入了获奖学生名单的原始资料,内容和格式如图3-3所示。


图3-3  原始获奖学生名单
  要求删除其中的学号和多余的空白字符,对学生名单重新编排,保证每行5个人名,行列整齐一致,得到图3-4所示的排版结果。


图3-4  整理后的获奖学生名单
  下面介绍一种实现方法,用到了查找和替换、文本转换成表格等功能。
  具体步骤如下。
  (1)将学号替换为分号。打开原始资料文档,选中需要整理的文本。按Ctrl+H键,在图3-5所示的“查找和替换”对话框中设置查找内容为“[0-9]{7,}”,替换为“;”,选中“使用通配符”复选框。然后单击“全部替换”按钮,将选中文本中的每个学号都替换为分号。


图3-5  将学号替换为分号
  在查找内容中,“[0-9]”表示0到9之间的任意单个字符,“{7,}”指定要查找字符的数量为“大于或等于7”。
  (2)删除空白符号。在“查找和替换”对话框中设置查找内容为“^w”,替换为空串,取消“使用通配符”和“区分全/半角”复选框的选择。单击“全部替换”按钮,删除全部半角空格、全角空格、不间断空格以及制表符等空白符号。
  (3)删除段落标记。在“查找和替换”对话框中设置查找内容为“^p”,替换为空串。单击“全部替换”按钮,将选中文本中段落标记全部删除。
  (4)重新设置段落标记,保证每行5个人名。在图3-6所示的“查找和替换”对话框中设置查找内容为“(;*;*;*;*;)”,替换为“^p\1”,选中“使用通配符”复选框。单击“全部替换”按钮,将选中文本中每5个人名的前面添加一个段落标记。
  其中,“*”可以代表多个任意字符,“\n”代表要查找的表达式,使用时需要勾选“使用通配符”复选框。具体来说,“\1”代表查找框中输入的第1个表达式,“\2”代表查找框


图3-6  添加段落标记
中输入的第2个表达式,以此类推。每个表达式用一对圆括号括起来。
  例如,查找“(*)^13(*)^13(*^13)”,替换为“\1\2\3”,则会将3个非空段落合并成一个段落(即删除前两个段落标记),这里“\1”“\2”“\3”分别代表要查找的3个表达式“(*)”“(*)”“(*^13)”。
  (5)将文本转换成表格。选中名单文本区,在“插入”选项卡的“表格”选项组中单击“表格”按钮,选择“文本转换成表格”命令。在图?3-7所示的“将文字转换成表格”对话框中指定分隔符为“;”,单击“确定”按钮,得到一个6列n行的表格。
  (6)设置表格属性。选中表格的空白列,将其删除。选中整个表格,适当调整表格的宽度。在“表格工具>布局”选项卡的“单元格大小”选项组中,单击“分布列”按钮,平均分布各列宽度。选中表格,在“开始”选项卡的“段落”选项组中,单击“分散对齐”按钮,使单元格内容分散对齐。右击选中的表格,在快捷菜单中选择“表格属性”命令,在“表格属性”对话框的“表格”选项卡中单击“选项”按钮,设置单元格左右边距均为0.6厘米。最后,选中表格,在“表格工具>设计”选项卡的“边框”选项组中,设置取消表格边框,得到图3-4所示的结果。
3.3  统计汉字或英文单词出现次数
  1. 统计文档中每个汉字出现的次数
  据资料介绍:某大学一位教授用3年多时间,将4000汉字著成一篇韵文《中华四千字文》,全文共1000句,用字4000,无一字重复,涵盖了百科,又韵语成章,高难度的写作换来了识字教材的全方位突破,小学6年的识字量,可很快完成。
  可能有人会产生疑问:《中华四千字文》中确实“无一字重复”吗?
  对于这类问题,可以用Word和Excel的功能求解。基本思路是:把《中华四千字文》收录的全部汉字导入Word文档,让Word文档中的每个字符单独占据一行。然后复制到Excel工作表,再利用Excel的排序、计算功能求出每个汉字出现的次数。
  具体实现方法如下:
  (1)把《中华四千字文》收录的全部汉字复制到Word文档。
  (2)按Ctrl+H键打开“查找和替换”对话框,在“查找内容”文本框中输入“^?”,在“替换为”文本框中输入“^&^p”,单击“全部替换”按钮,在每个字符后面添加一个段落标记,使每个字符独占一行。
  其中,“^?”表示任意单个字符,“^&^p”表示查找到的字符后面添加一个段落标记。
  (3)按Ctrl+A键选中全部文档,按Ctrl+C键复制。打开Excel应用程序,将光标定位到A1单元格,按Ctrl+V键粘贴到当前列。
  (4)选中Excel当前工作表的A列,在“数据”选项卡的“排序和筛选”选项组中,单击“升序”按钮,对A列内容进行排序。
  (5)在B1单元格输入公式“=COUNTIF(A:A,A1)”,并将公式向下填充到数据的最后一行。这样便可求出每个字符在A列中出现的次数。
  (6)将光标定位到A1单元格,在“数据”选项卡的“排序和筛选”选项组中,单击“筛选”按钮。然后单击B1单元格中的下三角按钮,筛选出数值为“2”的记录,会发现重复出现2次的若干个汉字。
  2. 统计文档中每个英文单词出现的次数
  假设有一个《小学英语单词分类表》Word文档,部分内容如图3-8所示。
  若要统计其中每个英文单词出现的次数,可用以下方法实现。
  (1)按Ctrl+H键打开“查找和替换”对话框。在“查找内容”文本框中输入“[!^1-^127]”,在“替换为”文本框中置空,勾选“使用通配符”复选框。单击“全部替换”按钮,删除文档中全部汉字和中文标点。


图3-8  Word文档部分内容
  其中,“[!^1-^127]”表示所有非西文字符、段落标记及分节符等,即ASCII码在1~127范围之外的字符。
  (2)按Ctrl+H键打开“查找和替换”对话框。在“查找内容”文本框中输入“^32{1,}”,在“替换为”文本框中输入“^p”,勾选“使用通配符”复选框。单击“全部替换”按钮,将单词之间的空格替换为段落标记,使每个单词独占一行。
  其中,“^32{1,}”表示一个以上空格。
  (3)按Ctrl+H键打开“查找和替换”对话框。在“查找内容”文本框中输入“/”,在“替换为”文本框中输入“^p”。单击“全部替换”按钮,将单词之间的“/”替换为段落        标记。
  (4)按Ctrl+A键选中全部文档,按Ctrl+C键复制。打开Excel应用程序,将光标定位到A1单元格,按Ctrl+V键粘贴到当前列。
  (5)在Excel中,对当前工作表的A列内容进行排序。在B列输入公式“=COUNTIF(A:A,A1)”,求出每个单词在A列中出现的次数。
3.4  全角/半角字符转换
  在Word文档中,利用查找功能,可分别对字母、数字和标点符号进行全角/半角转换。
  1. 对字母进行全/半角转换
  (1)选中需要操作的区域,按Ctrl+H键打开“查找和替换”对话框,切换到“查找”选项卡,如图3-9所示。在“查找内容”文本框中输入“^$”,单击“在以下项中查找”按钮,执行“当前所选内容”命令,选中区域中的全部字母。


图3-9  查找字母
  其中,“^$”表示任意一个字母,不区分大小写。
  (2)按Esc键关闭“查找和替换”对话框。在“开始”选项卡的“字体”选项组中,单击“更改大小写”按钮,在弹出的菜单中选择“全角”或“半角”命令。
  2. 对数字进行全/半角转换
  (1)选中需要操作的区域,按Ctrl+H键打开“查找和替换”对话框,切换到“查找”选项卡。在“查找内容”文本框中输入“^#”,单击“在以下项中查找”按钮,执行“当前所选内容”命令,选中区域中的全部数字。
  其中,“^#”表示任意一个数字。
  (2)按Esc键关闭“查找和替换”对话框。在“开始”选项卡的“字体”选项组中,单击“更改大小写”按钮,在弹出的菜单中选择“全角”或“半角”命令。
  3. 中文标点转换为英文标点
  (1)选中需要操作的区域,按Ctrl+H键打开“查找和替换”对话框,切换到“查找”选项卡。在“查找内容”文本框中输入“[,;:?!~()]”,勾选“使用通配符”复选框,如图3-10所示。单击“在以下项中查找”按钮,选择“当前所选内容”命令,选中区域中指定的中文标点。
  这里没有指定中文句号“。”,是因为它不能用全/半角转换的方式转换为英文句号“.”。


图3-10  查找指定的中文标点
  (2)按Esc键关闭“查找和替换”对话框。在“开始”选项卡的“字体”选项组中,单击“更改大小写”按钮,在弹出的菜单中选择“半角”命令,将选定的中文标点转换为英文标点。
  (3)选中需要操作的区域,按Ctrl+H键打开“查找和替换”对话框。在“查找内容”文本框中输入“。”,在“替换为”文本框中输入“.”,单击“全部替换”按钮,将中文句号替换为英文句号。
  4. 英文标点转换为中文标点
  (1)选中需要操作的区域,按Ctrl+H键打开“查找和替换”对话框,切换到“查找”选项卡。在“查找内容”文本框中输入“[,;:\?\!~\(\)]”,勾选“使用通配符”复选框,单击“在以下项中查找”按钮,选择“当前所选内容”命令,选中区域中指定的英文标点。
  其中,要查找已被定义为通配符的“?”“!”“(”“)”,需要在该字符的前面加上反斜杠“\”。
  (2)按Esc键关闭“查找和替换”对话框。在“开始”选项卡的“字体”选项组中,单击“更改大小写”按钮,在弹出的菜单中选择“全角”命令,将选定的英文标点转换为中文标点。
  (3)选中需要操作的区域,按Ctrl+H键打开“查找和替换”对话框。在“查找内容”文本框中输入“.”,在“替换为”文本框中输入“。”,单击“全部替换”按钮,将英文句号替换为中文句号。之所以这样做,同样是因为不能用全/半角转换的方式将英文句号转换为中文句号。

  
3.5  电话号码的升位与部分隐藏
  1. 电话号码升位
  电话的用户数量达到一定程度后,原有号码会出现不够用的情况,这时候就需要进行升位。
  假设某地区将固定电话号码由7位升至8位,其升位规则是在原号码前加“8”。现要求将Word文档中如图3-11所示的电话号码表,按以上规则进行升位。
  具体实现方法是:
  选中需要操作的区域,按Ctrl+H键打开“查找和替换”对话框。在“查找内容”文本框中输入“([0-9]{7})”,在“替换为”文本框中输入“8\1”,勾选“使用通配符”复选框,单击“全部替换”按钮,将得到图3-12所示的升位结果。



图3-11  升位前各部门电话
图3-12  升位后各部门电话
  其中,“([0-9]{7})”表示连续的7位数字,且定义为“表达式1”。“8\1”在“表达式1”的前面添加一个数字符号“8”。
  2. 手机号部分隐藏
  观众可通过手机参与电视互动节目,在公布获奖名单时,为了保护当事人隐私,通常会隐藏手机号的部分数字。
  下面以Word文档中图3-13所示的模拟获奖手机号为例,介绍隐藏部分数字的方法。
  选中需要操作的区域,按Ctrl+H键打开“查找和替换”对话框。在“查找内容”文本框中输入“([0-9]{3})([0-9]{4})([0-9]{4})”,在“替换为”文本框中输入“\1****\3”,勾选“使用通配符”复选框,单击“全部替换”按钮,将得到图3-14所示的结果。



图3-13  原始号码
图3-14  隐藏部分数字的号码
  其中,“[0-9]”表示0到9中任意一位数字,“{3}”表示连续3个字符。“\1”和“\3”分别代表“第1个表达式”和“第3个表达式”。
3.6  提取指定格式文本
  在Word文档中,利用查找功能,可以迅速提取指定格式的文本。例如,要把一个Word文档中“宋体”“加粗”格式的文本提取到另一个Word文档,可按以下步骤进行操作:
  (1)打开需要操作的文档,按Ctrl+H键打开“查找和替换”对话框,切换到“查找”选项卡。单击对话框左下角的“格式”按钮,选择“字体”命令。在图3-15所示的“查找字体”对话框中设置中文字体为“宋体”、字形为“加粗”,单击“确定”按钮。


图3-15 “查找字体”对话框
  (2)在“查找和替换”对话框的“查找”选项卡中,单击“在以下项中查找”按钮,选择“主文档”命令,选中指定格式的文本。
  (3)按Esc键关闭“查找和替换”对话框。右击被选中的文本,在弹出的快捷菜单中选择“复制”命令。
  (4)新建一个空白文档。在“开始”选项卡的“剪贴板”选项组中,单击“粘贴”按钮,把剪贴板的内容粘贴到当前文档,达到提取指定格式文本之目的。


上机练习
  1. 在Word文档中,试用尽可能简单的方法,将图3-16所示文本中的书名设置为倾斜的隶书字体,书名号“《》”字体不变,得到图3-17所示的结果。


图3-16  原始文档

图3-17  处理后的文档
  2. 请用查找和替换的方法,将Word文档所有数字中的句号替换为小数点。
  3. 在Word文档中,有图3-18所示的名单表格。请用查找和替换的方法,在所有两个字的姓名中间加入一个全角空格。


图3-18  名单表格
  4. 在Word文档中,有图3-19所示的文本。请用查找和替换格式的方法,删除下画线上的文本,得到图3-20所示的结果。


图3-19  原始文档

图3-20  删除下画线上文本后的结果
  5. 用查找和替换格式的方法,将文档中所有加粗字体替换为红色字体。
  
82
Word 2016高级应用案例教程

83
第3章  查找和替换的应用