查找和替换的应用 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章 查找和替换的应用