今天看一段vba代码,目的去除段首空格,替换的时候查找的文字是^w,不知其意,然后搜索去了
参考:http://zhidao.baidu.com/link?url=dPoOamRVLkY-WpD6v5L32DY-B_SZzUFL6zSpDU2GJ-GfyYngv41o-fubaD3woHa1Ae5RayaKwFK4QbddmbPKx_
http://blog.sina.com.cn/s/blog_4f3b79d00100rzl7.html
http://blog.sina.com.cn/s/blog_721ad862010127bi.html原文如下:
适用于: Word 2016 , Word 2013 , Word 2010 , Word Online , Word Starter , Word Starter 2010
重要: 本文是由机器翻译的,请参阅免责声明。请在此处 中查找本文的英文版本以便参考。
Word 提供了用于查找文档中的特定内容的多个选项。您可以搜索和替换文本、 图像、 标题、 书签、 或某些类型的格式,如段落或分页符等项。您可以使用定位命令在文档中,转到特定实例的内容,您可以通过使用通配符、 代码或正则表达式来查找字词或短语,包含特定字符的组合来扩展搜索。
注释:
-
Word Online 当前包括仅基本查找和替换功能。在 Word 桌面应用程序中使用高级的查找和替换功能,如查找查找格式,请转到使用和使用通配符、 代码和正则表达式的对象中打开文档。
-
本主题中的某些内容可能不适用于某些语言。
查找和替换
查找文本
您可以快速搜索特定字词或短语的每个匹配项。
-
在开始选项卡上,在编辑组中,选择查找。或者,在键盘上按 Ctrl + F。
显示导航窗格。
-
在搜索框中,键入要查找的文本。找到的任何的文本实例是文档中突出显示,在导航窗格中列出。
-
使用向上和向下箭头控件,请浏览结果。
注意: 如果您在文档中进行更改,搜索结果中消失,单击下搜索框中,若要再次查看结果列表中的向下箭头。
查找和替换文本
-
在开始选项卡上,选择在编辑组中的替换。或者,在键盘上按 Ctrl + H。
-
在查找内容框中,键入您想要搜索和替换的文本。
-
在“替换为”框中,键入替换文本。
-
查找下一步,选择,然后执行下列操作之一︰
-
若要替换突出显示的文本,请单击替换。
-
要替换的文档中的文本的所有实例,请单击全部都替换。
-
若要跳过该文本实例并转到下一个实例,单击查找下一步。
注意: 在 Word 联机,则没有查找下一步按钮。使用向上和自己箭头要替换突出显示的文本的实例浏览结果。
-
查找图像、 表格、 注释和其他对象
要搜索的对象,如表、 图形、 批注、 脚注、 尾注或公式,请执行下列操作︰
-
在开始选项卡,在编辑组中,单击查找。或者,在键盘上按 Ctrl + F。
显示导航窗格。
-
单击搜索框右侧的箭头,然后从列表中选择一个选项。
在搜索框中,下方显示搜索结果。
-
选择一个结果,以查看在文档中,或通过单击箭头控件浏览所有结果。
查找查找和替换对话框中?
若要使用查找和替换对话框中执行高级的搜索,请执行下列操作之一︰
-
在开始选项卡,在编辑组中,选择查找,旁边的箭头,然后选择高级查找。
或者
-
在导航窗格中,单击搜索框右侧的箭头,然后选择高级查找。
在查找和替换对话框中,单击更多查看详细的搜索选项。
注意: 一整套较小的高级的搜索选项,如区分大小写或全字匹配,在导航窗格中,选择搜索框右侧的箭头,然后选择选项。
查找和替换特定格式
您可以搜索和替换或删除文档中的字符格式。例如,您可以搜索特定字词或短语并更改字体颜色,或者您可以搜索特定格式,如加粗或突出显示,并对其进行更改。
-
在开始选项卡上,选择在编辑组中的替换。或者,在键盘上按 Ctrl + H。
-
如果看不到格式按钮,单击更多。
-
若要搜索带有特定格式的文本,请在查找内容框中键入的文本。若要仅查找格式,请将框留空。
-
单击格式,然后选择您想要查找和替换的格式。例如,若要查找突出显示的文本,单击格式>突出显示;若要查找加粗文本,单击格式>字体,然后在查找字体对话框中,在字体样式列表中选择加粗。
-
单击替换框中,单击格式,然后选择替换格式 (在步骤 4 中所述。
注意: 如果您还想要替换的文本,请在替换框中键入替换文本。
-
若要查找和替换指定格式的每个实例,单击查找下一步,,然后单击替换。若要替换指定格式的所有实例,请单击全部都替换。
查找和替换段落的分页符、 选项卡、 分页符,和其他项目
您可以搜索和替换特殊字符和文档元素,如制表符、 段落标记 (回车) 和手动分页符。例如,可以查找所有双倍行距 (两个段落标记),并将其替换为单个行空格 (一个段落标记)。
提示: 若要显示隐藏格式标记,例如空格,段落标记和分页符,,请单击开始选项卡上的段落组中的¶ 。
-
在“开始”选项卡上的“编辑”组中,单击“查找”旁边的箭头,然后单击“高级查找”。
-
如果您没有看到特殊按钮,单击更多。
-
单击特殊,然后单击所需的项目。
-
如果要替换该项目,请单击“替换”选项卡,然后在“替换为”框中键入要用作替换的内容。
-
若要查找和替换指定项的每个实例,单击查找下一步,,然后单击替换。若要替换指定项的所有实例,请单击全部都替换。
转到使用查找
转到特定页、 表格、 标题、 线条或其他项目
-
在开始选项卡,在编辑组中,单击查找,旁边的箭头,然后单击转到。
-
在定位目标框中,单击项类型。
-
执行下列操作之一:
-
要转到特定项目,请在输入项目类型框中,键入项目的相应标识信息,然后单击转到。
-
要转到下一个或上一个指定类型的项目,请将Enter框保留为空,,然后单击下一步或上一步。
-
使用通配符搜索
使用通配符进行搜索以查找特定字母
使用通配符搜索文本。例如,可使用星号 (*) 通配符搜索字符串(例如,使用“s*d”将找到“sad”和“started”)。
-
在“开始”选项卡上的“编辑”组中,单击“查找”旁边的箭头,然后单击“高级查找”。
-
选中“使用通配符”复选框
如果看不到“使用通配符”复选框,请单击“更多”。
-
执行下列操作之一:
-
若要从列表中选择一个通配符,单击特殊,单击一个通配符,,然后在查找内容框中键入任何其他文本。有关详细信息,请参阅下面的表格的您想要查找和替换的项目的通配符。
-
直接在查找内容框中键入通配符。有关详细信息,请参阅下面的表格的您想要查找和替换的项目的通配符。
-
-
如果要替换该项目,请单击“替换”选项卡,然后在“替换为”框中键入要用作替换的内容。
-
单击查找下一个或查找全部然后单击替换,或单击全部替换要替换的项目的所有实例。
注意: 若要取消正在执行的搜索,请按 Esc。
通配符搜索中的表达式
使用括号 () 中的查找内容框中,创建通配符和文本组,然后使用 \n ,在替换为框中来使用每个表达式的结果。
您可以使用 \n 通配符搜索表达式,然后将其替换为经过重新排列的表达式。例如,在查找内容框和\2 \1替换框中键入(颖) (Chris) 。Word 将颖 Chris查找和替换Chris 颖。
要查找和替换的项目的通配符
-
选中“使用通配符”复选框后,Word 将只查找与指定的内容精确匹配的文本。请注意,“区分大小写”和“全字匹配”复选框将不可用(灰显),以表示这些选项已自动开启。您无法关闭这些选项。
-
若要搜索定义为通配符的字符,请键入的字符前反斜杠 (\)。例如,键入\?查找问号或\以查找反斜杠字符 (这通常称为"转义字符")。
-
可使用括号对通配符和文本进行分组,以指明处理顺序。例如,键入 <(pre)*(ed)> 可以找到“预排序的”和“已阻止的”。
若要查找 | 类型 | 示例 |
任意单个字符,包括空格和标点符号字符 | ? | s?t可找到sat、设置以及s t。 |
其中一个字符 | [ ] | w [io] n可找到win和won。 |
此范围内的任一字符 | [-] | [r t] 右查找右、可见,和tight。范围必须是升序排序。 |
单词开头 | < | < (内部)查找有趣且截距,但不是 splintered。 |
单词结尾 | > | (in) >找到中和内,但不是感兴趣。 |
表达式 | () | Word 会记住要在替换操作中使用的搜索组合结果。 |
除了括号内范围中的字符之外的任一字符 | [!x-z] | t [! a m] ck可找到tock和tuck,但不是丁字或刻度线。 |
前一个字符或表达式的 n 个完全匹配项 | {} n | fe {2} d可找到源,但不是纸。 |
前一个字符或表达式的至少 n 个匹配项 | {n} | fe {1,} d可找到fed和feed。 |
前一个字符或表达式的 n 到 m 个匹配项 | {n,m} | 10 {1,3}可找到10、100和1000年。 |
前一个字符或表达式的一个或多个匹配项 | @ | lo@t找到lot和loot。 |
任意单个字符,包括空格和标点符号字符 | * | s * d可找到sad,启动和明显的更改。 |
使用代码查找字母、格式、域或特殊字符
可以在“查找内容”框或“替换为”框中使用的代码
若要查找 | 类型 |
段落标记 ( | ^p(不适用于在查找内容框中时使用通配符选项处于打开状态),或^13 |
制表符 ( | ^t or ^9 |
ASCII 字符 | ^ nnn,其中nnn是字符代码 |
ANSI 字符 | ^0 nnn,其中 0 是零,nnn是字符代码 |
长划线 ( — ) | ^+ |
短划线 ( – ) | ^= |
脱字号 | ^^ |
手动换行符 ( | ^l or ^11 |
分栏符 | ^n or ^14 |
分页符或分节符 | ^12(替换时,插入分页符) |
手动分页符 | ^m(启用“使用通配符”选项时,还查找或替换分节符) |
不间断空格 ( | ^ s |
不间断连字符 ( | ^~ |
可选连字符 ( | ^- |
查找中使用哪些框中,仅 (时使用通配符处于关闭状态) 的代码
若要查找 | 类型 |
任意字符 | ^? |
任何数字 | ^# |
任意字母 | ^$ |
图片或图形 (仅限内联) | ^ g |
脚注标记 | ^f or ^2 |
尾注标记 | ^ e |
域 (可见域代码时) | ^ d或^19或^21 |
备注 (当批注嵌入式) | ^a or ^5 |
分节符 | ^ b |
空白 | ^w(任何空格或任何组合的正常和不间断空格和制表符) |
在替换为框中仅代码
若要查找 | 类型 |
Microsoft Windows 剪贴板的内容 | ^ c |
使用正则表达式来查找和替换文本(高级)
有关正则表达式
您可以通过使用通配符生成的文本的文本和通配符字符的组合的正则表达式来自动化查找和替换的许多任务。文本字符表示必须存在于目标的文本字符串中的文本。通配符字符指示异目标字符串中的文本。例如,您可以使用正则表达式以查找并删除大型表格的重复行,或转置 (更改其从"名,姓"为"姓,名") 的名称的列表。
示例-试一试 !
下面是您可以尝试的示例。本部分中的步骤解释如何使用正则表达式的转置名称。请记住始终使用查找和替换对话框中运行您正则表达式。此外,请记住,如果表达式无法按预期工作,您可以始终按 CTRL + Z 来撤消所做的更改,然后重试另一个表达式。
-
启动 Word,然后打开一个新的空白文档。
-
将以下名称复制到该文档。
Josh Barnhill
Doris Hartwig
Tamara 约翰斯顿
王 Shimshoni
-
在开始选项卡,在编辑组中,单击替换以打开查找和替换对话框。
-
如果看不到使用通配符复选框,单击更多,,然后选择复选框。如果未选择复选框,Word 会将通配符字符视为文本。
-
在查找内容框中键入下列字符。确保包括括号,两个组之间的距离,不包括一个空格末尾。
(<> *)(<> *)
-
在替换框中,键入以下字符。请确保包含逗号与第二个斜杠之间的距离。
\2, \1
-
选择名称,,然后单击全部替换。Word 转置名称和分隔这些用逗号,如下所示︰
字节,乔什
Hartwig Doris
约翰斯顿 Tamara
Shimshoni 王
文档内容确定最 (但并非所有) 您正则表达式的设计。在上面的示例中,每个项目 (名称) 包含两个单词。如果项目包含两个单词和中间名首字母,您可以使用不同的表达式。
让我们看一下 inside out 从每个表达式︰
在第一个表达式, (<> *) (<> *)︰
-
在 word 中,星号 (*) 返回的所有文本。
-
小于和大于符号 (< >) 标记开头和结尾的每个字词,分别。他们确保搜索返回单个字词。
-
括号和它们之间的距离将字词划分为不同组: (第一次 word) (第二个 word)。括号还指明要在其中搜索每个表达式进行计算的顺序。
换言之,该表达式显示:"查找两个词"。
在第二个表达式, \2、 \1:
-
斜杠 (\) 适用于用作占位符的数字。(您可以也使用斜杠查找其他通配符字符。请参阅下一节的详细信息。
-
在逗号之后的第一个占位符插入转置名称之间的正确拼写。
换言之,该表达式显示:"撰写第二个单词、 添加逗号、 编写的第一个单词。"
使用正则表达式和通配符,示例
下面的示例显示了一些可以在 Word 中使用通配符和正则表达式的方法。您可以使用的通配符的列表,请参阅部分中的您想要查找和替换的项目的通配符的上面。
示例 1︰ 转置名称中间名首字母
此示例使用通配符字符和字符代码的组合来转置包含中间名首字母的名称。如果您熟悉字符代码,请参阅部分中使用代码查找字母、 格式、 域或特殊字符的上面。
执行操作时,请牢记以下事项︰
-
当您使用此表达式驻留在表的名称时,必须首先将该表格转换为文本。
-
如果表包含多个列,复制包含一个空白文档的名称的列,并将其转换为文本。
-
转置名称后,请将文本转换为表格。然后,您可以删除原始列,并将其替换为您更改的数据。
首先准备样本数据︰
-
如果尚未这样做,启动 Word,然后创建新的空白文档。
-
文档中插入空白表。表 1 列宽进行高四行。
-
单独,复制以下名称并粘贴到空白表格单元格的每个︰
例如 Quentin 字节
Doris X.Hartwig
Tamara Y.约翰斯顿
王 Shimshoni表应如下所示︰
例如 Quentin 字节
Doris X.Hartwig
Tamara Y.约翰斯顿
王 Shimshoni
-
选中表格,然后在表格工具布局选项卡的数据组中,单击转换为文本。
-
为文本分隔符中,选择段落标记,然后单击确定。
现在转置名称︰
-
在开始选项卡,在编辑组中,单击替换以打开查找和替换对话框。
-
选择使用通配符复选框 (您可能需要单击多个要看到该复选框),然后在查找内容框中键入以下表达式︰
(*)([! ]@) ^13
请确保包括括号和感叹号之后两组之间的一个空格。如果尚未看到 ^13 字符之前,我们说明下一步部分中用途。
-
在替换框中,键入以下表达式︰
\2、 \1^p
-
选择名称,该列表,然后单击全部替换。Word 转置名称和中间名首字母或中间名,如下所示︰
字节,例如 Quentin
Hartwig,Doris X.
约翰斯顿、 Tamara Y.
Shimshoni,王
将已更改的文本转换回表︰
-
选择转置后的名称列表。
-
在插入选项卡上,在表格组中,单击表格,然后单击文本转换成表格。
-
在文本转换成表格对话框中的在单独的文本,单击段落,,然后单击确定。
具有中间名首字母,逐一转置
我们来看一下了解它们如何工作的表达式的各个部分,开始与查找内容框中的表达式。
整个表达式寻找的模式的两个组︰ 带中间名首字母 (或中间名) 名字和姓氏。(*) 查找所有名字。请注意其后没有空格。
此表达式的一部分匹配的最后一个名称︰
([! ]@) ^13
感叹号排除在方括号中指定的任何字符。在这种情况下, [!]表示"查找所有空格但。"其效果是剪裁前面的姓氏的空间。
@字符查找的上一个字符的一个或多个匹配项,以便它只是确保最后一个名称前面的所有空格被都删除。
我们需要了解的姓的结束位置,以便我们也使用^13字符要搜索的每个行的结尾处的段落标记。但是,我们不打算重复使用段落标记,因为我们括起放在括号中的其他任何内容。
您可以尝试此通过再次复制到测试文档的名称 (确保包含段落标记分隔),然后搜索使用([!] 和@) ^13查找内容框中。搜索匹配每个姓氏。
因为搜索在下一行的开头重新开始,我们使用星号通配符 (*) 以匹配从到下一个姓氏的开头的所有内容。
因为我们不打算重复使用的最后一个名称前面的空间,我们使用括号排除两个组︰
(*)([! ]@) ^13
重要: 请谨慎使用 ^13 字符代码。通常情况下,您可以使用 ^ p 字符代码来搜索段落标记。但是,该代码不起作用通配符搜索中。相反,您需要使用替代代码 ^13。虽然 ^ p 字符代码不起作用通配符搜索中,因为它包含了格式的信息,应使用它通配符替换操作中和 ^13 字符不。此外,不能分配到的样式信息 ^13 在所有字符。滥用 ^13 代码替换操作中的可以本质上将文档转换为无法设置格式的文件。
"替换"表达式 (\2 \1) 实际调换。在替换框中,\2,字符会告诉搜索要首先编写的第二个模式和图案之后添加一个逗号。\1^p字符告诉搜索撰写第一个模式和之后的图案写入段落标记的位置。
示例 2︰ 转置日期
此示例使用正则表达式将欧洲格式的日期转换为美国格式的日期。
-
复制并粘贴到文档的以下日期︰ 2003 年 5 月 28
-
打开查找和替换对话框中,并在查找内容框中键入以下表达式︰
([0-9] {1,2})([dhnrst] {2})(< [ADFJMNOS] * >)([0-9] {4})
请确保您插入以下左大括号和右括号之间的间距︰ 2}) (< [和* >) ([0。
-
在替换框中输入以下表达式︰
\3 \1、 \4
请确保您插入的字符的每个集之间的间距。
-
单击“全部替换”。
搜索 2003 年 5 月 28 替换 2003 年 5 月 28 日。
转置逐一的日期
我们来开始使用查找内容框中的表达式。表达式的工作原理是日期拆分成四个模式,用括号集。每个模式包含您在编写样式的示例中使用的所有日期中找到的组件。从左到右的使用︰
-
数字范围[0-9]匹配的第一个模式中的一位数字。日期可以由两个数字组成,因为我们告诉搜索以返回一位或两位数字表示日期︰{1,2}。结果是第一个模式︰ ([0-9] {1,2})。
序数组成的第二个模式。序数包含"th,""第二,""日"和"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年的格式,您将使用中的最后一个模式,而不是{2}{4} 。
有关使用正则表达式中的列表分隔符
上面的示例使用下面的参数来查找一位或两位数字表示日期︰ {1,2}。在此例中,逗号分隔的两个值。但是,在 Windows 区域设置控制您使用的列表分隔符。如果您的区域设置指定使用分号作为列表分隔符,您必须使用它们,而不是逗号。
若要查找您的操作系统指定哪些列表分隔符,请执行下列操作︰
-
打开控制面板。(Windows 开始按钮中,右键单击,然后单击控制面板在 Windows 8 和更高版本。在 Windows 7 中,单击开始按钮,然后单击控制面板。)
-
单击时钟、 语言和区域。
-
单击更改日期、 时间或数字格式,然后单击其他设置。
-
单击数字选项卡,然后找到列表分隔符条目。
示例 3︰ 添加时间段,或从称呼中删除它们
某些国家/地区,honorific 标题 (先生、 小姐,等等) 不包括句点。此示例显示如何添加到的时间段或从 honorifics 中删除它们。从现在开始,我们假定您知道如何使用查找和替换对话框。
此表达式期间没有找到先生、 Ms、 Mrs,和 Dr:
< (DM [个] {1,2}) ()
请注意,表达式将使用包含空格的第二个图案。该空间通常会按照敬语,如果该时间段不存在。此表达式添加句点︰
\1.\2
若要进行反向,使用搜索此表达式︰
< (DM [个] {1,2})。
并将替换此表达式的使用︰
\1
示例 4︰ 查找重复的段落或行
使用此表达式时,您可能需要首先以放置重复行相邻列表进行排序。此外,您需要删除所有空段落标记。换言之,如果您使用空白段落分隔文本块,像这样︰
例如 Quentin Barnhill¶
¶
例如 Quentin Barnhill¶
¶
Doris X.Hartwig¶
您需要删除这些段落,如下所示︰
例如 Quentin Barnhill¶
例如 Quentin Barnhill¶
Doris X.Hartwig¶
您可以使用您喜欢的方法删除空段落,但下面介绍了一种查找两个连续段落字符。使用此表达式搜索 ( @字符重复查找和替换操作,并删除所有的多个空行)︰
(^13) \1@
您将替换此表达式的结果︰
^ p
现在我们来看一下替换文本的方法。此表达式查找两个连续的相同段落任何序列︰
(* ^13) \1
此表达式也匹配结束的段落中的较长重复的文本。针对下面的列表,例如,运行该表达式︰
例如 Quentin Barnhill¶
Doris X.Hartwig¶
例如 Quentin Barnhill¶
Doris X.Hartwig¶
Tamara Y.Johnston¶
搜索查找前四行,并仅当整体图案更改的制表位。相反,如果您对此列表中运行表达式︰
例如 Quentin Barnhill¶
例如 Quentin 字节
Doris X.Hartwig¶
Doris X.Hartwig¶
表达式查找仅的前两个段落。
若要搜索的更多的相同的项目,请添加更多占位符。例如,此表达式查找三个连续的相同段落︰
(* ^13) \1\1
您也可以使用大括号达到同样的目的。下面的示例查找两个和三个相同段落,分别所示︰
(*^13){2} (*^13){3}
或者,您可以找到相同的两个或三个段落︰
(* ^13)。{2、 3}
您也可以查找两个或多个相同段落︰
(* ^13)。{} 2
您可以将这些表达式的任何替换以下字符串︰
\1
此外,您可以根据需要以替换在文档中,所有重复段落重复查找和替换操作,也可以添加 @ 通配符字符和有重复上述操作为您的表达式︰
(* ^13) \1@
也可以使用此方法来替换为表中的重复行。为此,请首先删除任何已合并的单元格,然后再对要放置相邻的重复单元格的表。接下来,将表格转换为文本。(在表格菜单上,指向转换,,然后单击表格转换成文本; 出现提示时,使用的选项卡上的分隔符。)使您更换后,将转换为表格的文本。
更多示例
有关如何在 Word 中使用正则表达式的更多示例,请查找和替换字符使用通配符参阅 MVP 常见问题网站上。
转自:https://support.office.com/zh-cn/article/%e6%9f%a5%e6%89%be%e5%92%8c%e6%9b%bf%e6%8d%a2%e6%96%87%e6%9c%ac%e5%92%8c%e5%85%b6%e4%bb%96-Word-%e6%96%87%e6%a1%a3%e4%b8%ad%e7%9a%84%e6%95%b0%e6%8d%ae-C6728C16-469E-43CD-AFE4-7708C6C779B7?ui=zh-CN&rs=zh-CN&ad=CN