Office使用正则表达式实现高级查找替换

Office查找和替换是经常使用的功能,可以非常方便快捷的批量操作,完成繁琐的工作。Office的查找替换不仅仅是简单的文字替换这么简单,还可以借助正则表达式,完成复杂的工作。

问题场景:参考文献标号全部上标

很多撰写毕业论文的同学一定遇到过设置论文参考文献标号为上标格式的问题,一篇论文至少也有五、六十篇参考文献,标号也就五六十甚至更多,如果一个个的修改,非常麻烦,还可能有遗漏。此时,可以利用正则表达式一次全部修改。

一般学校要求都采用[1][1,2,3] 格式的参考文献标号方式。由于撰写论文过程中可能仅注重内容,忽略了格式,或者使用Office自带的参考文献格式生成的,默认是不上标的[1]、[1,2,3],要实现批量格式化,方法如下:

1、Ctrl+F,打开查找替换对话框,切换到替换页

2、在查找内容处输入(\[*\]),在替换为输入\1 ,这些都是正则表达式,字符都是英文半角的。

3、展开更多,选择使用通配符

4、文本输入定位到替换为,设置替换为内容的格式,点击格式〉字体〉选择上标,全部替换

如果有些同学甚至在标号时不规范,使用的是这种形式格式[1][2][3],正确格式应为[1,2,3],这种可以可以一次格式化。在上面的1~4步骤中,2查找内容处输入(\[*)(\]\[)(*\]),替换为设置为\1,\3 ,详细操作方法见下图

查找替换

Office正则表达式可以实现很多的功能,常见操作例如,转置带中间名首写字母的姓名转置日期向称呼添加句号,或从称呼删除句号查找重复段落或行等等。

正则表达式通配符见下表

用于查找

类型

示例

任一字符

?

s?t 可找到“sat”和“set”。

任何字符串

*

s*d 可找到“sad”和“started”。

单词开头

<

<(inter) 可找到“interesting”和“intercept”,但找不到“splintered”。

单词结尾

>

(in)> 可找到“in”和“within”,但找不到“interesting”。

指定字符之一

[ ]

w[io]n 可找到“win”和“won”。

此范围内的任一字符

[-]

[r-t]ight 可找到“right”和“sight”。范围必须是升序。

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

[!x-z]

t[!a-m]ck 可找到“tock”和“tuck”,但找不到“tack”或“tick”。

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

{n}

fe{2}d 可找到“feed”,但找不到“fed”。

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

{n,}

fe{1,}d 可找到“fed”和“feed”。

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

{n,m}

10{1,3} 可找到“10”、“100”和“1000”。

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

@

lo@t 可找到“lot”和“loot”。

如果要查找[、@等通配符时,要使用转义字符 \[,\@,例如本文介绍中就用到了转义字符。

更多正则表达式的使用方法参考微软Office官方教程使用正则表达式来查找和替换文本(高级)

http://office.microsoft.com/zh-cn/word-help/HA102350661.aspx#_Toc286834986

腾讯云图