批量修改word文档标题段落的样式

我经常从猪队友那里或者互联网上拿到这样的word文档:文档的内容有很多明显的标题段落,但是文档的编辑者并没有将这些标题段落应用样式,使文档有很好的大纲结构,以便于快速跳转到所需的文档内容,也给文档标题段落的格式统一增加很多麻烦,例如下面这样的文档:

文章标题
一、something
咚咚咚分动
二、mmm
咚咚咚东方扥房东一、看看看劳损
(一)咚咚咚咚
扥广森功放等森更多

上面只是一个示例,实际拿到的文章可能会很长,标题段落也很多。类似于上面的文档“一、”、“二、”和“(一)”这样的段落如果被分别赋予了类似于“标题一”、“标题二”这样的具有大纲层次结构的样式,就可以在导航窗格中快速跳转到所需的文档内容,更重要的是可以很轻松的统一文档中各级别标题的格式。

拿到这样的文档,我通常做的第一件事是将各标题段落赋予样式。这需要使用word的查找替换功能。但是目前版本的word查找替换功能在使用通配符时没有匹配段落开头的特殊字符,所以,要选择例如上面示例中的“一、something”这个段落需要费一定的心思。

首先,不建议简单用正则表达式“[一二三四五六七八九十]{1,}、[!^13]{1,}^13”来匹配,因为如果某个非标题段落中出现“一、”这样的文字,这个段落从“一、”至段落末尾都会被匹配上(如下图所示),显然这不是我们想要的。

其次,用正则表达式“^13[一二三四五六七八九十]{1,}、[!^13]{1,}^13”可以匹配到我们想要的段落,但是如果在“替换为”文本框中指定样式,则标题段落及上面的那个段落(第一个^13匹配的就是上一个段落最后一个字符)都会被指定同样的样式(如下图所示),这也不是我们想要的。

因此,最佳做法是分两个步骤来做,第一个步骤在标题段落前加上一个文档中没出现的字符作为标题段落开头的标记,第二步再将标题段落应用样式并丢弃段落开头标记。以上面的示例文档为例,将所有汉字序号加顿号开头的段落应用样式“标题一”可以考虑这样操作:

步骤一:

经过上面的操作,按下全部替换后文档内容成了下面这个样子:

文章标题
#一、something
咚咚咚分动
#二、mmm
咚咚咚东方扥房东一、看看看劳损
(一)咚咚咚咚
扥广森功放等森更多

 可以发现“一、”和“二、”开头的段落前面分别多了个“#”号(要注意这个“#”号如果在文档中其他地方曾经出现过,就不能用,要选用文档中绝对没有出现过的字符,例如某个冷僻汉字都可以。可以先用查找功能检查一下这个字符是不是在文档中可以找到,可以找到就要更换),而段落中间的“一、”前面则没有添加。

步骤二:

 经过上一步操作,文档内容变成下面的样子:

可以看到相关段落已经应用了“标题一”样式,先前添加的“#”号也已经丢弃了。类似可以继续处理下一级标题。对于那些标题段落以“第一章”、“第10节”之类开头的的文章,想必聪明的读者无需我多说该怎么修改查找内容栏的正则表达式了。

最后顺便说一下,示例文章中的“扥”(音den,4声)就是一个几乎用不到的汉字,可以用来做段落开头的标记。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yivifu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值