word通配符,查找与替换

  • word通配符–使用实例
  • word通配符表
  • word查找栏代码&通配符一览表
  • word替换栏代码&通配符一览表
  • word通配符用法详解
  • word换行符

参考原文:https://github.com/gaheadus/daily_use/blob/master/tools_and_skills/word文档处理.md#word换行符

word通配符–使用实例

删除空白和空行
删除空白:选中需要修改的文本或者ctrl+a选中所有文本,ctrl+h,替换,查找框填^w,替换框什么也不填,点击全部替换。
删除空行:选中需要修改的文本或者ctrl+a选中所有文本,ctrl+h,替换,查找框填pp,替换框填^p,点击全部替换。
空行的产生就是连续输入了两个回车,所以把两个回车替换成一个回车就可去除空行。因此,查找框填pp,替换框填^p。

有些情况下使用“pp”替换^p不能删除空白行,为什么?
pp是两个回车相连,中间不能包含任何字符,包括空格。不能删除空行的原因就是行前还有空格。
 修改一下, 查找框填"^13 {1,}13"(注意:第一个13的后面有一个空格),勾选使用通配符,替换框"^13",点击全部替换。
 同样,删除多行空行,查找框填"13{2,}13"或"^13{2,} {1,}13",替换框填"13"。
 注:勾选使用通配符时回车符是13,不是p。参考后续章节:通配符表。

删除字符所在的行
如下文本是从百度百科上复制粘贴的,粘贴了一些无用的字符,如"编辑",想把这两个字和这一行去掉,怎么办?

原理
编辑
运用已经记住的东西,让它成为有一定可以回忆出来的顺序的东西。然后把要记的东西和它进行想象、联想连接,因

ctrl+f打开查找->高级查找->替换,查找内容框填"编辑",替换为框什么也不填,点击"替换",结果如下:

原理

运用已经记住的东西,让它成为有一定可以回忆出来的顺序的东西。然后把要记的东西和它进行想象、联想连接,因

可以看出,“编辑"这两个字删了,但是那一行没有删掉、留下空行,有没有办法把"编辑"这两个字删掉、同时把那一行删掉?有,查找内容框填"编辑^p”,替换为框什么也不填,点击"替换",结果如下:

原理
运用已经记住的东西,让它成为有一定可以回忆出来的顺序的东西。然后把要记的东西和它进行想象、联想连接,因

以前对于这种纯文本处理,先将文本拷贝到notepad++,用notepad++处理完再拷贝回word,但是这样操作破坏了word原有的格式,字体、颜色、标题、图片等信息丢了,word通配符替换不会改变word原有格式。

删除图片
ctrl+h,如果查找框填”^g”,替换框什么也不填,全部替换,完成。
如果图片单独占一行,删除图片后,希望将图片所在行也删掉,怎么办?
原理和删除字符所在行一样,查找框写上回车符,查找框填”gp”,替换框什么也不填,全部替换。但是这样只能删除单独占一行的图片,而那些图片后面还有文字的图片没有删除。
解决这个问题,可以分两步:1.删除图片,查找框填”g”,替换框什么也不填,全部替换;2.删除空行,查找框填”p^p”,替换框什么也不填,全部替换。

使用通配符
希望在单词char、chas、chat、chaw等后面加上ed。
方法:勾选使用通配符,查找框填(cha[a-z]),替换框填\1ed,替换完之后变成chared、chased、chated、chawed。

复制来的文本的处理
从网页或者其他文档复制来的文本的处理。
1.清除超链接文本高亮和下划线
选中需要修改的文本或者ctrl+a选中所有文本,然后按ctrl+6或者ctrl+shift+f9,即可清除超链接文本高亮和下划线。
2.删除空白格、空行
删除空白:选中需要修改的文本或者ctrl+a选中所有文本,ctrl+h,替换,查找框填^w,替换框什么也不填,点击全部替换;
删除空行:选中需要修改的文本或者ctrl+a选中所有文本,ctrl+h,替换,查找框填pp,替换框填^p,点击全部替换。
返回目录

word通配符表

word查找栏代码&通配符一览表

序号

清除使用通配符复选框

勾选使用通配符复选框

特殊字符

代码

特殊字符

代码or通配符

1

任意单个字符

^?

一个任意字符

?

2

任意数字

^#

任意数字(单个)

[0-9]

3

任意英文字母

^$

任意英文字母

[a-zA-Z]

4

段落标记↵

^p

段落标记↵

^13

5

手动换行符↓

^l

手动换行符↓

^l or ^11

6

图形

^g

图形

^g

7

1/4长划线

^+

1/4长划线

^q

8

长划线

^j

长划线

^+

9

短划线

^q

短划线

^=

10

制表符

^t

制表符

^t

11

脱字号

^

脱字号

^^

12

分栏符

^v

分栏符

^n or ^14

13

分节符

^b

分节符/分页符

^m

14

省略号

^n

省略号

^i

15

全角省略号

^i

全角省略号

^j

16

无宽非分隔符

^z

无宽非分隔符

^z

17

无宽可选分隔符

^x

无宽可选分隔符

^x

18

不间断空格

^s

不间断空格

^s

19

不间断连字符

^~

不间断连字符

^~

20

¶段落符号

^%

表达式

( )

21

§分节符

^

单词结尾

<

22

脚注标记

^f or ^2

单词开头

>

23

可选连字符

^-

任意字符串

(零或多个任意字符)

*

24

空白区域

^w

指定范围外任意单个字符

[!x-z]

25

手动分页符

^m

指定范围内任意单个字符

[-]

26

尾注标记

^e

1个以上前一字符或表达式

@

27


^d

n 个前一字符或表达式

{ n }

28

Unicode 字符

^Unnnn

n个以上前一字符或表达式

{ n, }

29

全角空格

^u8195

n 到 m 个前一字符或表达式

{ n,m }

30

半角空格

^32 or ^u8194

所有小写英文字母

[a-z]

31

批注

^a or ^5

所有大写英文字母

[A-Z]

32

所有西文字符

[1-127]

33

所有中文汉字和中文标点

[!1-127]

34

所有中文汉字(CJK统一字符)

[一-龥] or [一-﨩]

35

所有中文标点

[!一-龥1-127]

36

所有非数字字符

[!0-9]

备注:代码、通配符
①“勾选使用通配符复选框”的方法:ctrl+h,点击”更多”,会出现更多选项,点击”使用通配符”。
“勾选使用通配符复选框”,符号?*!、[0-9] [a-zA-Z] {m,n} \1 \2、^ ^g ^13等称为通配符
“不勾选使用通配符复选框”,符号pl等称为代码
只有在“勾选使用通配符复选框”后,才能使用通配符。

使用通配符和不使用通配符是不同的,例如,不使用通配符的时候换行符代号是p,但是使用通配符的时候换行符代号是13,此时p是无效的;但也有些符号的代号是一样的,如不使用通配符和使用通配符时图片的代号都是g。

word通配符大概相当于正则表达式,但又和正则表达式不一样。如正则表达式中?*都是量词,表示前面的字符出现的次数,?表示0或1次、*表示0或多次,但是word通配符中?*确实就是通配符,?表示一个任意字符、*表示零或多个任意字符;然而,[0-9] [a-zA-Z] {m,n} \1 \2等又是正则表达式;还有word自己特色的^ ^g ^13等符号。
所以,word通配符既有通配符的特点,又有正则表达式的特点,还有第三类^ ^g ^13等自有的特点。
word通配符 = 通用通配符?、*、! (3个) + 部分正则表达式符号 + word特有符号^ ^g ^13等。
混杂、混乱。多种特点混杂在一起,有点混乱。

131127,后面的数值是对应字符的ASCII码值,13是回车符ASCII码值。
word里回车换行没有区别吗?回车13,换行10。段落标记p大概相当于回车13。[概念:回车、换行、段落标记]

③在勾选使用通配符的时候,要查找已被定义为通配符的字符,该字符前键入反斜杠 \ 。查找?、*、(、)、[ 、] 等的代码分别是\?、\*、\(、\)、\[、\] 。但是查找必须使用而不是\
在不勾选使用通配符的时候,?、*、(、)、[ 、]仍然代表字符自己,不需要转义。
⇒在勾选使用通配符的时候,\是转义字符,但从13等看是转义字符。这里说是脱字符,脱字符不就是转义字符吗?为啥直接用来转义特殊字符,而是用\。只能将^理解为特殊字符前缀,但不是转义字符,这和C语言等不一样。
返回目录

word替换栏代码&通配符一览表

序号

清除使用通配符复选框

勾选使用通配符复选框

特殊字符

代码

特殊字符

代码or通配符

0

要查找的表达式 \n

\

1

段落标记↵

^p

段落标记↵

^p

2

手动换行符↓

^l

手动换行符↓

^l

3

查找的内容

^&

查找的内容

^&

4

剪贴板内容

^c

剪贴板内容

^c

5

省略号

^i

省略号

^i

6

全角省略号

^j

全角省略号

^j

7

制表符

^t

制表符

^t

8

长划线

^+

长划线

^+

9

1/4长划线( — )

^q

1/4长划线( — )

^q

10

短划线( – )

^=

短划线( – )

^=

11

脱字号

^^

脱字号

^^

12

手动分页符

^m or ^12

手动分页符/分节符

^m

13

可选连字符(_)

^-

可选连字符(_)

^-

14

不间断连字符(-)

^~

不间断连字符(-)

^~

15

不间断空格

^s

不间断空格

^s

16

无宽非分隔符

^z

无宽非分隔符

^z

17

无宽可选分隔符

^x

无宽可选分隔符

^x

18

分栏符

^n

分栏符

^n

19

§分节符

^%

§分节符

^%

20

¶段落符号

^v

¶段落符号

^v

正则表达式反向引用分组的使用,例子,
希望在单词char、chas、chat、chaw等后面加上ed。
方法:勾选使用通配符,查找框填(cha[a-z]),替换框填\1ed,替换完之后变成chared、chased、chated、chawed。

备注: 如果记不住,这些特殊格式符号可以在”查找替换框”中找到,ctrl+h打开替换框,点击”更多”,会出现更多选项,点击”特殊格式”,点击需要的特殊格式符号,这时会在”查找内容”中自动输入特殊格式符号的通配符,如”^p”。
返回目录

word通配符用法详解

在勾选使用通配符的情况下,如下通配符才起作用。
在勾选使用通配符的情况下,word的通配符和正则表达式差不多,但有区别。
勾选使用通配符的方法:ctrl+h,点击”更多”,会出现更多选项,点击”使用通配符”。

一、任意单个字符
“?“可以代表任意单个字符,输入几个”?“就代表几个未知字符。如:
输入”?国"就可以找到诸如"中国”、“美国”、“英国"等字符;
输入”???国"就可以找到"孟加拉国"等字符。
二、任意多个字符
“*“可以代表任意多个字符。如:输入”*国"就可以找到"中国”、“美国”、“孟加拉国"等字符。
三、指定字符之一
“[]“框内的字符可以是指定要查找的字符之一,如:
输入”[中美]国"就可以找到"中国"和"美国”。又如:
输入"th[iu]g"就可以查找到"thigh"和"thug”。
输入"[学硕博]士"查找到的将会是"学士"、“硕士"和"博士”。
输入"[高矮]个"查找的将会是"高个"和"矮个"。
输入"[大中小]学"查找到的将会是"大学"、“中学"和"小学”,但不会查找"求学"、“开学"等。
四、指定范围内的任意单个字符
“[x-x]“可以指定某一范围内的任意单个字符,如:
输入”[a-e]ay"就可以找到"bay”、“day"等字符,要注意的是指定范围内的字符必须用升序。又如:
输入”[a-c]mend"就可以找到"amend”、“bmend”、“cmend"等字符。
五、排除指定范围内的任意单个字符
“[!x-x]“可以用来排除指定范围内的任意单个字符,如:
输入”[!c-f]ay"就可以找到"bay”、“gay”、“lay"等字符,但不会找到"cay”、“day"等字符。要注意的是排除范围必须用升序。又如:
输入"m[!a]st"就可以找到"mist"和"most"而不是"mast”。
输入”[!a]n"查到的将会是除an以外的所有可能组合如:in、on等。
输入"[!a-c]“就可以找到"good”、“see”、“these"等字符,而所有包含字母a、b、c之类的字符都不会在查找结果中出现。
六、指定前一字符的个数
“{n}“可以用来指定要查找的字符中包含前一字符的个数,如:
输入"cho{1}se"表示包含1个前一字符"o”,可以找到"chose”,输入"cho{2}se"就是说包含2个前一字符"o”,可以找到"choose"。又如:
输入"lit{1}le"表示包含1个前一字符"t",可以找到"litle",输入"lit{2}le"就是说包含2个前一字符"t",可以找到"little"。
输入"te{2}n"表示查找"teen"而不会查找"ten"。
输入"of{2}ice"查找到的将会是"office"。
七、指定前一字符数范围
“{x,x}“可以用来指定要查找字符中前一字符数范围,如:
输入"cho{1,2}”,则表示包含前一字符"o"的数目范围是1-2个,则可以找到"chose”、“choose"等。
八、一个以上的前一字符
“@“可以用来指定要查找字符中包含一个以上的前一字符,如:
输入"cho@se”,就可以找到"chose”、“choose"等字符。
九、指定起始字符串
“<“可以用来指定要查找字符中的起始字符串,如:
输入”<ag"表示要查找的字符的起始字符为"ag”,可以找到"ago”、“agree”、“again"等字符。
输入”<te"就可能查到"ten”、“tea"等字符。
十、指定结尾字符串
“>“可以用来指定要查找字符中的结尾字符串,如:
输入"er>“表示要查找的字符的结尾字符为"er”,可以找到"ver”、“her”、“lover"等。
输入"en>“表示要查找以"en"结尾的所有目标对象,可能会找到"ten”、“pen”、“men"等。
输入"up>“表示要查找以"up"结尾的所有目标对象,可能会找到"setup”、“cup"等。
十一、表达式查找
“()“尤其用于多个关键词的组合查找。
键入”(America)(China)”,再在"替换为"中输入”\2\1”,表示当Word找到"AmericaChina"时,把它替换为"ChinaAmerica”。
输入”<(江山)*(多娇)>“表示查找的是所有以"江山"开头并且以"多娇"结尾的字符串。
另外为了更精确的查找,你还可以把以上的通配符联合起来使用,如:
输入”<(ag)(er)>“则表示查找所有以"ag"开头并且以"er"结尾的单词,注意这时需要用括号来区分开不同的查找规则。
最后还要注意的是,如果要查找已经被定义为通配符的字符,如”*”、"?“等,则必须在该字符前面加上反斜杠”",如:输入"\*“则表示查找字符”*"。
备注: word通配符,像shell通配符、又像shell正则表达式,同时具有通配符和正则表达式的特点,word特有吧。
返回目录

word换行符

^p是段落标记的代码。按enter输入,回车符,如"代码↵"代码后面的符号。
^l是手动换行符的代码。按shift+enter输入,软回车符号,如"代码↓"代码后面的符号。
从网页上复制一些文章到word中时,往往会带有好多向下箭头的符号,这就是软回车符号(word中软回车是同时按住shift+enter得来的),这些软回车占用了word很多的空间,那么如何才能删除这些软回车符号呢?当然可以手动的一个一个删,但实在太麻烦了,可以采取 批量 删除的方法。
点击菜单栏中的"编辑"→"替换"(ctrl+h) ,在"查找内容"里面输入^l,“替换为"里面不输入任何字符,然后点"全部替换”,就可以删除整个文档里面的软回车了。
上面的方法只是把所有的软回车都给删了,可是必要的段落换行还是需要的,所以下面介绍把软回车替换成硬回车。点击菜单栏中的"编辑"→"替换",在"查找内容"里面输入^l, “替换为"里面输入^p,然后点"全部替换” 就ok了。计算机基础知识其实知道了软回车是l,硬回车是p,那么就可以灵活运用了。比如经常会遇到一篇要打印的文档很长,中间有很多回车,如果遇到段与段之间有两个回车,就可以利用替换成一个回车。这样就节省了很多空间。

在用替换的办法删除空行时要注意两个问题:
1.分清文件中用的是手动换行符(“Shift+回车”),还是段落标记。“pp”替换成“p”并不能替换所有的空行。如果文件中用的是手动换行符,那么就要用“ll”替换成“l”(这里用的不是1,而是L字母的小写,也可以直接用替换对话框里的“特殊字符”,里面有“有手动换行符”),空行才能去除。
有时遇到这种情况,可能是用手动换行符换行的。可能你也用了“ll”替换成“l”的办法,用“全部替换”时依然提示“Word已完成对文档的搜索并已完成0处替换”这又是为什么呢?为了搞清楚到底问题出在哪里,试试在Word文档中分别用手动换行符和回车符制造一些空行,用“pp”替换成“p”和“ll”替换成“^l”来验证,结果能顺利完成空行的删除。为什么自己输入的可以替换,网上下载的却不能呢?难道这里面还有“机关”?
2.注意空格的存在。无奈之下,只得试用手工删除了。在删除的过程中,会发现它的秘密:原来每个空行的换行符前还有一个空格。空格成了折腾人的“罪魁祸首”!再用“ll”(注意两个换行之间有一个空格)替换成“l”,替换终于有成果了。单击了几次全部替换,又更改了几次“查找内容”,比如把“pl”替换成“l”。页面中再也没有空行了。看来用替换的方法来删除空行时,要灵活对待查找的内容。
返回目录