查找和替换 Word 文档中的文本和其他数据

查找和替换 Word 文档中的文本和其他数据

Word 提供了多个用于在文档中查找特定内容的选项。可以搜索和替换文本、图像、标题、书签或某些类型的格式(如段落或分页符)等项目。可以使用“转到”命令转到文档中的特定内容实例,还可以通过使用通配符、代码或正则表达式来扩展搜索,查找包含特定字符或字符组合的单词或短语。

注释: 

  • Word Online 当前仅包含基本的查找和替换功能。在 Word 桌面应用程序中打开文档可使用高级查找和替换功能,例如查找对象、查找格式、使用“转到”以及使用通配符、代码和正则表达式。

  • 本主题中的某些内容可能不适用于某些语言。

查找和替换

可以快速搜索特定单词或短语的每个匹配项。

  1. 在“开始”选项卡上的“编辑”组中,选择“查找”。或者按键盘上的 Ctrl+F。

    “开始”选项卡上的“查找”选项

    将显示“导航”窗格。

    导航窗格
  2. 在搜索框中,键入要查找的文本。找到的文本的所有实例都会在文档中突出显示,并在“导航”窗格中列出。

    在文档和“导航”窗格中突出显示的搜索结果
  3. 使用向上箭头和向下箭头控件浏览结果。

注意: 如果对文档进行了更改,导致搜索结果消失,请单击搜索框下方的向下箭头,再次查看结果列表。

  1. 在“开始”选项卡上的“编辑”组中,选择“替换”。或者按键盘上的 Ctrl+H。

    “开始”选项卡上已突出显示“替换”选项。

  2. 在“查找内容”框中,键入要搜索和替换的文本。

  3. 在“替换为”框中,键入替换文本。

    查找和替换文本

  4. 选择“查找下一处”,然后执行下列操作之一:

    • 若要替换突出显示的文本,请单击“替换”。

    • 若要替换文档中的所有文本实例,请单击“全部替换”。

    • 若要跳过此文本实例并继续对下一个实例执行操作,请单击“查找下一处”。

    “查找和替换”对话框中的“替换”选项卡

    注意: 在 Word Online 中,没有“查找下一处”按钮。使用向上键和向下键浏览结果,替换突出显示的文本实例。

若要搜索表格、图形、批注、脚注、尾注或公式等对象,请执行以下操作:

  1. 在“开始”选项卡上的“编辑”组中,单击“查找”。或者按键盘上的 Ctrl+F。

    “开始”选项卡上的“查找”选项

    将显示“导航”窗格。

    导航窗格
  2. 单击搜索框右侧的箭头,然后从列表中选择一个选项。

    用于查找对象的选项列表

    搜索结果显示在搜索框下方。

  3. 选择某个结果以在文档中查看它,或通过单击箭头控件浏览所有结果。

要使用“查找和替换”对话框?

若要使用“查找和替换”对话框执行高级搜索,请执行下列操作之一:

  • 在“开始”选项卡上的“编辑”组中,选择“查找”旁边的箭头,然后选择“高级查找”。

    或者

  • 在“导航”窗格中,单击搜索框右侧的箭头,然后选择“高级查找”。

在“查找和替换”对话框中,单击“更多”查看详细的搜索选项。

注意:  要使用较少的一组高级搜索选项,如“区分大小写”或“全字匹配”,可在“导航窗格”中选择搜索框右侧的箭头,然后选择“选项”。

可以搜索和替换或删除文档中的字符格式。例如,可以搜索特定单词或短语并更改字体颜色,也可以搜索特定格式(如粗体或突出显示)并对其进行更改。

  1. 在“开始”选项卡上的“编辑”组中,选择“替换”。或者按键盘上的 Ctrl+H。

    “开始”选项卡上已突出显示“替换”选项。

  2. 如果未看到“格式”按钮,请单击“更多”。

    “其他”按钮

  3. 若要搜索特定格式的文本,请在“查找内容”框中键入文本。若要仅查找格式,请将该框留空。

  4. 单击“格式”,然后选择想要查找和替换的格式。例如,若要查找突出显示的文本,请单击“格式”>“突出显示”;若要查找粗体文本,请单击“格式”>“字体”,然后在“查找字体”对话框的“字形”列表中选择“加粗”。

  5. 单击“替换为”框,然后单击“格式”,并按照步骤 4 中所述选择替换格式。

    注意: 如果还要替换文本,请在“替换为”框中键入替换文本。

  6. 若要查找和替换指定格式的每个实例,请单击“查找下一处”,然后单击“替换”。若要替换指定格式的所有实例,请单击“全部替换”。

可以搜索和替换特殊字符以及文档元素,如制表符、段落标记(回车符)和手动分页符。例如,可以查找所有 2 倍行距(两个段落标记),并将其替换为单倍行距(一个段落标记)。

提示: 若要显示隐藏的格式符号,例如空格、段落标记和分页符,请在“开始”选项卡上的“段落”组中单击“”。

  1. 在“开始”选项卡上的“编辑”组中,单击“查找”旁边的箭头,然后单击“高级查找”。

    “查找”菜单上的“高级查找”选项

  2. 如果未看到“特殊格式”按钮,请单击“更多”。

    “其他”按钮

  3. 单击“特殊格式”,然后单击所需项目。

  4. 如果要替换该项目,请单击“替换”选项卡,然后在“替换为”框中键入要用作替换的内容。

  5. 若要查找和替换指定项目的每个实例,请单击“查找下一处”,然后单击“替换”。若要替换指定项目的所有实例,请单击“全部替换”。

使用“转到”进行查找

  1. 在“开始”选项卡上的“编辑”组中,单击“查找”旁边的箭头,然后单击“转到”。

    “查找”菜单上的“转到”选项

  2. 在“定位目标”框中,单击项目类型。

  3. 执行下列操作之一:

    • 若要转到特定项目,请在“输入项目类型”框中键入相应的标识信息,然后单击“转到”。

    • 若要转到指定类型的下一个或上一个项目,请将“输入”框留空,然后单击“下一处”或“上一处”。

使用通配符进行搜索

使用通配符搜索文本。例如,可使用星号 (*) 通配符搜索字符串(例如,使用“s*d”将找到“sad”和“started”)。

  1. 在“开始”选项卡上的“编辑”组中,单击“查找”旁边的箭头,然后单击“高级查找”。

    “查找”菜单上的“高级查找”选项

  2. 选中“使用通配符”复选框

    如果看不到“使用通配符”复选框,请单击“更多”。

    “其他”按钮

  3. 执行下列操作之一:

    • 若要从列表中选择通配符,请单击“特殊格式”,再单击通配符,然后在“查找内容”框中键入任何其他文本。有关详细信息,请参阅下表“要查找和替换的项目的通配符”。

    • 在“查找内容”框中直接键入通配符。有关详细信息,请参阅下表“要查找和替换的项目的通配符”。

  4. 如果要替换该项目,请单击“替换”选项卡,然后在“替换为”框中键入要用作替换的内容。

  5. 单击“查找下一处”或“查找全部”,然后单击“替换”或“全部替换”,替换该项目的所有实例。

    注意: 若要取消正在执行的搜索,请按 Esc。

使用括号 ( ) 在“查找内容”框中创建通配符和文本组,然后在“替换为”框中使用 \n 来使用每个表达式的结果。

可使用 \n 通配符搜索表达式,然后将其替换为经过重新排列的表达式。例如,在“查找内容”框中键入 (Ashton) (Chris),并在“替换为”框中键入 \2 \1。Word 将找到 Ashton Chris 并将其替换为 Chris Ashton

  • 选中“使用通配符”复选框后,Word 将只查找与指定的内容精确匹配的文本。请注意,“区分大小写”“全字匹配”复选框将不可用(灰显),以表示这些选项已自动开启。您无法关闭这些选项。

  • 若要搜索已定义为通配符的字符,请在该字符前面键入一个反斜杠 (\)。例如,键入 \? 查找问号或键入 \\ 查找反斜杠字符(这通常称为“转义字符”)。

  • 可使用括号对通配符和文本进行分组,以指明处理顺序。例如,键入 <(pre)*(ed)> 可以找到“预排序的”和“已阻止的”。

若要查找

键入

示例

任意单个字符,包括空格和标点符号字符

?

s?t 可以找到 satsets t

其中一个字符

[ ]

w[io]n 可以找到 winwon

此范围内的任一字符

[-]

[r-t]ight 可以找到 rightsighttight。范围必须是升序。

单词开头

<

<(inter) 可以找到 interestingintercept,但不能找到 splintered。

单词结尾

>

(in)> 可以找到 inwithin,但不能找到 interesting

表达式

()

Word 会记住要在替换操作中使用的搜索组合结果。

除了括号内范围中的字符之外的任一字符

[!x-z]

t[!a-m]ck 可以找到 tocktuck,但不能找到 tacktick

前一个字符或表达式的 n 个匹配项

{n}

fe{2}d 可以找到 feed,但不能找到 fed

前一个字符或表达式的至少 n 个匹配项

{n,}

fe{1,}d 可以找到 fedfeed

前一个字符或表达式的 n 到 m 个匹配项

{n,m}

10{1,3} 可以找到 101001000

前一个字符或表达式的一个或多个匹配项

@

lo@t 可以找到 lotloot

任意单个字符,包括空格和标点符号字符

*

s*d 可以找到 sadstartedsignificantly altered

使用代码查找字母、格式、域或特殊字符

若要查找

键入

段落标记 ( 段落标记 )

^p(启用“使用通配符”选项时,在“查找内容”框中不起作用),或 ^13

制表符 ( 制表符 )

^t^9

ASCII 字符

^ nnn,其中 nnn 是字符代码

ANSI 字符

^0 nnn,其中 0 是零,nnn 是字符代码

长划线 ( — )

^+

短划线 ( – )

^=

脱字号

^^

手动换行符 ( 手动换行符 )

^l^11

分栏符

^n^14

分页符或分节符

^12(替换时,插入分页符)

手动分页符

^m(启用“使用通配符”选项时,还会查找或替换分节符)

不间断空格 ( 不间断空格 )

^s

不间断连字符 ( 不间断连字符 )

^~

可选连字符 ( 可选连字符 )

^-

若要查找

键入

任意字符

^?

任意数字

^#

任意字母

^$

图片或图形(仅限嵌入式)

^g

脚注标记

^f^2

尾注标记

^e

域(当域代码可见时)

^d^19^21

批注(批注为嵌入式时)

^a^5

分节符

^b

空白区域

^w(任何空格或任何常规不间断空格的组合以及制表符)

若要查找

键入

Microsoft Windows 剪贴板内容

^c

使用正则表达式来查找和替换文本(高级)

通过使用通配符构建正则表达式(这些表达式是文字和通配符的组合),可自动执行许多查找和替换任务。文字字符指示文本的目标字符串中必须存在的文本。通配符指示目标字符串中可变的文本。 例如,可以使用正则表达式查找并删除大型表格中的重复行,或者转置姓名列表(将它们从“名字姓氏”更改为“姓氏名字”)。

以下是可以尝试的示例。此部分中的步骤介绍如何使用正则表达式转置姓名。请务必使用“查找和替换”对话框来运行正则表达式。此外,请记住,如果表达式无法达到预期目的,可通过按 CTRL+Z 来撤消更改,然后尝试使用另一个表达式。

  1. 启动 Word,然后打开一个新的空白文档。

  2. 将以下姓名复制到文档中。

    Josh Barnhill

    Doris Hartwig

    Tamara Johnston

    Daniel Shimshoni

  3. 在“开始”选项卡上的“编辑”组中,单击“替换”打开“查找和替换”对话框。

    “开始”选项卡上已突出显示“替换”选项。

  4. 如果未看到“使用通配符”复选框,请单击“更多”,然后选中该复选框。如果没有选中该复选框,Word 会将通配符视为文本。

  5. 在“查找内容 ”框中键入以下字符。确保在两组括号之间加入空格,但结尾处没有空格。

    (<*>) (<*>)

  6. 在“替换为”框中,键入以下字符。确保在逗号和第二个斜杠之间加入空格

    \2, \1

  7. 选择姓名,然后单击“全部替换”。Word 将转置姓名并用逗号分隔,如下所示:

    Barnhill, Josh

    Hartwig, Doris

    Johnston, Tamara

    Shimshoni, Daniel

大部分(但不是全部)正则表达式的设计都取决于文档的内容。在上面的示例中,每个项目(姓名)包含两个单词。如果项目包含两个单词和一个中间名首字母,则需使用其他表达式。

让我们仔细检查每个表达式:

第一个表达式为 (<*>) (<*>)

  • 星号 (*) 返回单词中的所有文本。

  • 小于和大于符号 (< >) 分别标记每个单词的开头和结尾。它们确保搜索返回一个单词。

  • 它们之间的括号和空格将单词分成不同的组:(第一个单词) (第二个单词)。括号还指示搜索对各表达式进行评估的顺序。

换句话说,该表达式的意思是:“查找两个​​单词。”

第二个表达式为 \2, \1

  • 斜杠 (\) 与数字一起作为占位符。(也可以使用斜杠查找其他通配符。请参阅下一部分了解详细信息。)

  • 第一个占位符之后的逗号用于在转置后的姓名之间插入正确的标点符号。

换句话说,该表达式的意思是:“写入第二个单词,添加一个逗号,写入第一个单词。”

以下示例展示了在 Word 中使用通配符和正则表达式的一些方法。有关可使用的通配符列表,请参阅上面“要查找和替换的项目的通配符”部分。

示例 1:转置含中间名首字母的姓名

示例 2:转置日期

示例 3:向称呼添加句点或从其中删除句点

示例 4:查找重复的段落或行


示例 1:转置含中间名首字母的姓名

此示例使用通配符和字符代码的组合来转置包含中间名首字母的姓名。如果不熟悉字符代码,请参阅上面的使用代码查找字母、格式、域或特殊字符部分。

继续进行操作时,请牢记以下事项:

  • 每当对驻留在表格中的姓名使用此表达式时,必须首先将该表格转换为文本。

  • 如果表格中包含多个列,请将包含姓名的列复制到空白文档,然后将其转换为文本。

  • 转置姓名后,将文本转换回表格。然后,可以删除原始列,并将其替换为已更改的数据。

首先准备好示例数据:

  1. 如果尚未执行此操作,请启动 Word,然后创建新的空白文档。

  2. 在文档中插入空白表格。将表格设置为宽 1 列高 4 行。

  3. 分别复制这些姓名,并将每个姓名粘贴到空白表格单元格中:

    Joshua Quentin Barnhill
    Doris X. Hartwig
    Tamara Y. Johnston
    Daniel Shimshoni

    表格应如下所示:

    Joshua Quentin Barnhill

    Doris X. Hartwig

    Tamara Y. Johnston

    Daniel Shimshoni

  4. 选择该表格,然后在“表格工具”下的“布局”选项卡上,单击“数据”组中的“转换为文本”。

  5. 选择“段落标记”作为文字分隔符,然后单击“确定”。

现在转置姓名:

  1. 在“开始”选项卡上的“编辑”组中,单击“替换”打开“查找和替换”对话框。

  2. 选中“使用通配符”复选框(可能需要单击“更多”才可看到该复选框),然后在“查找内容”框中键入以下表达式:

    (*) ([! ]@)^13

    确保在两组括号之间和感叹号后面加入一个空格。如果之前尚不了解 ^13 字符,我们将在下一节中介绍其作用。

  3. 在“替换为”框中,键入以下表达式:

    \2, \1^p

  4. 选择姓名列表,然后单击“全部替换”。Word 会转置姓名以及中间名首字母或中间名,如下所示:

    Barnhill, Joshua Quentin
    Hartwig, Doris X.
    Johnston, Tamara Y.
    Shimshoni, Daniel

将已更改的文本转换回表格:

  1. 选择转置后的姓名列表。

  2. 在“插入”选项卡上的“表格”组中,单击“表格”,然后单击“文本转换成表格”。

  3. 在“将文字转换成表格”对话框中的“文字分隔位置”下,单击“段落标记”,然后单击“确定”。

逐一转置含中间名首字母的姓名

让我们看看表达式的各个部分,查看它们的工作原理,从“查找内容”框中的表达式开始。

整个表达式查找两组模式:名字(包含中间名首字母或中间名)和姓氏。(*) 用于查找所有名字。请注意其后有一个空格。

该表达式的以下部分与姓氏匹配:

([! ]@)^13

感叹号用于排除括号中指定的任何字符。在这种情况下,[! ] 的意思是“查找除空格以外的所有内容。”其结果是去除姓氏前面的空格。

@ 字符用于查找上一个字符的一个或多个匹配项,因此它只是用于确保姓氏前面的所有空格都已删除。

我们需要知道姓氏的结尾位置,所以还使用了 ^13 字符来搜索每一行结尾处的段落标记。但是,因为我们不打算重复使用段落标记,所以用括号括住所有其他内容。

可以通过再次将姓名复制到测试文档(确保使用段落标记分隔),然后在“查找内容”框中使用 ([! ]@)^13 进行搜索来尝试此操作。搜索内容与每个姓氏匹配。

由于搜索在下一行的开头重新开始,所以我们使用星号通配符 (*) 匹配从该处到下一个姓氏开头的所有内容。

因为我们不打算重复使用姓氏前面的空格,所以我们使用括号将其从两个组中排除:

(*) ([! ]@)^13

重要: 请谨慎使用 ^13 字符代码。通常情况下,可以使用 ^p 字符代码来搜索段落标记。但是,该代码在通配符搜索中不起作用。而是需要使用替换代码 ^13。虽然 ^p 字符代码在通配符搜索中不起作用,但应在通配符替换操作中使用它,因为它包含格式信息,而 ^13 字符不包含。此外,无法将样式信息分配到 ^13 字符。在替换操作中误用 ^13 代码实质上会将文档转换为不能设置格式的文件。

“替换”表达式 (\2 \1) 执行实际的转置。在“替换为”框中,\2, 字符告知搜索首先写入第二个模式,然后在该模式后添加一个逗号。\1^p 字符告知搜索写入第一个模式的位置,以及在该模式后添加一个段落标记。


示例 2:转置日期

此示例使用正则表达式将日期格式从欧洲格式转换为美国格式。

  1. 将下列日期复制并粘贴到文档中:28th May 2003

  2. 打开“查找和替换”对话框,然后在“查找内容”框中键入以下表达式:

    ([0-9]{1,2})([dhnrst]{2}) (<[ADFJMNOS]*>) ([0-9]{4})

    确保在以下左右括号之间插入一个空格:2}) (<[*>) ([0

  3. 在“替换为”框中输入以下表达式:

    \3 \1, \4

    确保在每组字符之间插入一个空格。

  4. 单击“全部替换”。

    搜索将 28th May 2003 替换为 May 28, 2003。

逐一转置日期

从“查找内容”框中的表达式开始。表达式的作用是将日期分解为四个模式,由括号对表示。每个模式中都包含在与示例使用同一样式编写的所有日期中找到的组成部分。搜索顺序为从左到右:

  • 数字范围 [0-9] 匹配第一个模式中的单个数字。由于日期可以由两个数字组成,所以会通过搜索返回一位数或两位数的日期:{1,2}。结果是第一个模式:([0-9]{1,2})

    序数构成第二个模式。序数由“th”、“nd”、“st”和“rd”组成,因此我们将这些字母添加到范围 [dhnrst]。由于序数始终由两个字母组成,所以将字母数限制为二:([dhnrst]{2})

  • 接下来是一个空格,后面是用于查找月份名称的文字和通配符。所有月份名称都以下列大写字母之一开头:ADFJMNOS。我们不知道每个大写字母后面有多少个字符,所以在它们后面加上星号 (*)。我们只对月份名称本身感兴趣,因此使用大于和小于字符将结果限制为单个单词。结果是第四个模式:(<[ADFJMNOS]*>)

  • 最后,我们搜索年份。使用相同的数字范围,但将字母数限制为四个 ([0-9]{4})

请注意,在“替换为”框中,仅写入了四个地址模式中的三个。因为美国格式的日期不使用序数,所以省略了日期中的序数(“th”)。如果要保留日期中的序数,请在“替换为”框中输入 \3 \1\2, \4。在这种情况下,需在 3 之后和逗号之后输入一个空格,而其他任何地方都没有空格。

此时,你可能会询问如何处理未明确拼写月份名称的日期,例如 28/05/03。使用下面的表达式进行搜索:

([0-9]{1,2})/([0-9]{1,2})/([0-9]{2})

使用下面的表达式进行替换:

\3/\1/\2

如果日期格式为 28/05/2003,则在最后一个模式中使用 {4},而不是 {2}

有关在正则表达式中使用列表分隔符的信息

上一个示例使用以下参数查找一位数或两位数的日期:{1,2}。在这种情况下,用逗号分隔两个值。但是,使用的列表分隔符取决于 Windows 中的区域设置。如果区域设置指定使用分号作为列表分隔符,则必须使用它们而不是使用逗号。

若要了解操作系统指定的列表分隔符,请执行以下操作:

  1. 打开“控制面板”。(在 Windows 8 及更高版本中,右键单击“Windows 开始”按钮,然后单击“控制面板”。在 Windows 7 中,单击“开始”按钮,然后单击“控制面板”。)

  2. 单击“时钟、语言和区域”。

  3. 单击“更改日期、时间或数字格式”,然后单击“其他设置”。

  4. 单击“数字”选项卡,然后找到“列表分隔符”条目。


示例 3:向称呼添加句点或从其中删除句点

在某些国家/地区,尊称(Mr. 和 Mrs. 等)不包含句点。本示例演示如何向尊称添加句点或从中删除句点。从现在开始,我们假定你知道如何使用“查找和替换”对话框。

此表达式查找不包含句点的 Mr、Ms、Mrs 和 Dr:

<([DM][ rs ]{1,2})( )

请注意,表达式使用包含空白的第二个模式。该空白通常紧跟尊称之后,前提是该处没有句点。此表达式用于添加句点:

\1.\2

若要反向操作,请使用下面的表达式进行搜索:

<([DM][ rs ]{1,2}).

并使用下面的表达式进行替换:

\1


示例 4:查找重复的段落或行

使用此表达式时,可能要首先对列表排序,使重复的行彼此相邻。此外,还需要删除所有空白段落标记。换言之,如果使用空白段落分隔文本块,如下所示:

Joshua Quentin Barnhill¶

Joshua Quentin Barnhill¶

Doris X. Hartwig¶

则需要删除这些段落,如下所示:

Joshua Quentin Barnhill¶
Joshua Quentin Barnhill¶
Doris X. Hartwig¶

可以使用自己喜欢的方法来删除空白段落,但下面介绍了一种找到两个连续段落字符的方法。使用下面的表达式进行搜索(@ 字符表示重复查找和替换操作并删除所有空行):

(^13)\1@

使用下面的表达式替换结果:

^p

现在介绍替换文本的方法。下面的表达式用于查找两个连续相同段落的任何序列:

(*^13)\1

此表达式还会匹配段落中包含的较长的文本重复。例如,针对下面的列表运行表达式:

Joshua Quentin Barnhill¶
Doris X. Hartwig¶
Joshua Quentin Barnhill¶
Doris X. Hartwig¶
Tamara Y. Johnston¶

搜索操作将查找前四行,仅当整体模式发生更改时才会停止。相反,如果针对下面的列表运行表达式:

Joshua Quentin Barnhill¶
Joshua Quentin Barnhill
Doris X. Hartwig¶
Doris X. Hartwig¶

表达式仅查找前两个段落。 

若要搜索更多的相同项目,请添加更多占位符。例如,下面的表达式查找三个连续的相同段落:

(*^13)\1\1

还可以使用大括号执行相同的操作。以下示例分别查找两个和三个相同的段落:

(*^13){2} (*^13){3}

或者,可以查找两个或三个相同的段落:

(*^13){2,3}

还可以查找两个或更多相同段落:

(*^13){2,}

可使用以下字符串替换任何这些表达式:

\1

此外,可以根据需要重复查找和替换操作,替换文档中的所有重复段落,或者可以添加 @ 通配符,让表达式进行重复操作:

(*^13)\1@

也可以使用此方法替换表格中的重复行。为此,请先删除所有合并单元格,然后对表格排序,使重复的单元格彼此相邻。接下来,将表格转换为文本。(在“表格”菜单上,指向“转换”,然后单击“表格转换成文本”,出现提示时,使用制表符。)完成替换后,将文本转换回表格。

更多示例

有关如何在 Word 中使用正则表达式的更多示例,请参阅 MVP 常见问题解答网站上的使用通配符查找和替换字符

另请参阅

配置或关闭自动文本格式(自动套用格式)

删除页码

在 Word 中删除页面

插入符号

在 Word for Mac 中查找和替换文本或格式

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×