我的ABC软件工具箱XCLWinKits进行批量修改替换时的规则设置教程

更新于:2021-09-21 20:26,编辑:myweb

概要:规则就是一条条的使用标准,供后续系统具体地处理某个文件来使用。我们需要自己先创建想要的规则,然后在后续的处理中选择本次处理需要应用哪些规则即可。这样,在系统处理到某个文件时,如果匹配到了此规则,则会按此规则的标准去处理这个文件。通过本文的介绍后,相信朋友们一定会认可这是我们软件的特色功能。

有些小伙伴在使用我们的软件过程中,在添加与修改规则时,不知道如何具体地操作,同时对一些选项很疑惑。今天,在这篇文章里,我们将统一为大家讲解一下,什么是规则,以及如何设置规则。通过本文的介绍后,相信朋友们一定会认可这是我们软件的特色功能。好了,废话不多说,正文开始啦。

什么是规则

规则就是一条条的使用标准,供后续系统具体地处理某个文件来使用。我们需要自己先创建想要的规则,然后在后续的处理中选择本次处理需要应用哪些规则即可。这样,在系统处理到某个文件时,如果匹配到了此规则,则会按此规则的标准去处理这个文件。

目前我们已有的应用场景是对文本的修改操作,比如:批量修改文件名、文件内容、扩展名等。这些操作的本质就是把一个文本改成另一个文本。因此,我们把这些操作的标准统一到一个规则管理模块中,由大家自行维护规则的列表。

看到这里,小伙伴们明白了吗?

前提条件

既然是批量操作,也就是说我们要操作的内容是「有规律」可循的,比如:把文件名中的 A 全部修改成 B;在文件名的前面统一添加一个前缀 C;把文件名中的数字全部去掉等等。

如果您修改的文件名没有规律,您可以尝试一下「导入 Excel 文件进行自定义修改」功能。您只需要在 Excel 文件中列出「修改前」与「修改后」的对应关系,然后把这个 Excel 文件导入进来,这样做的好处是,您可以不受限于本软件中添加规则的限制,而可以充分利用 Excel 的公式等等强大的功能去修改。

操作界面

这里是新增一条规则时的界面截图,我们分为「精确文本」、「模糊文本」与「区域内容」三种查找替换方式,接下来我们将为大家详细讲解一下。

方式一:查找和替换精确文本

精确文本是明确地将「标记 1」的内容替换为「标记 4」中的内容,软件在查找时,里面的内容必须与「标记 1」中的所有内容完全匹配时才算查找成功。

「标记 2」是忽略英文大小写的选项。

「标记 3」是在查找英文单词时的选项,设置是否区分英文单词或英文单词的一部分,比如:文件内容为:"Hi, I am XCLWinKits.", 当查找字母 "a" 时,如果只考虑整个单词,则最终查找无结果,此时您应该允许查询单词的一部分。

方式二:查找和替换模糊文本

「模糊文本」可以理解为一个条件公式,比如:a+b=10,这种条件下会有很多组内容可以满足,如:5+5=10、4+6=10、1+9=10 等等

在这里,我们使用计算机领域的一个专业表达式,称之为「正则表达式」,它也是一个「公式」,您可以直接写一个公式来同时查找多个文本内容。详细用法,可以在网络上搜索一下。

「标记 3」说明:在正则表达式中,字符 "^" 表示整个文本的开头位置,字符 "$" 表示整个文本的结束位置。当我们想匹配以换行符为基准的每一行的开头与结束位置时,我们就需要启用多行模式。

下面是几个比较简单且常见的「正则表达式」:

行开头位置:^

行结束位置:$

中文:[\u4e00-\u9fa5]

一位数字:\d

多个数字:\d+

三位数字:\d{3}

最小三位最大五位数字:\d{3,5}

每行开头或结尾的空白:^\s*|\s*$

26个英文字母组成的文本:^[A-Za-z]+$

26个英文字母的大写组成的文本:^[A-Z]+$

26个英文字母的小写组成的文本:^[a-z]+$

数字、单个字(包括中文中的单个汉字或其它语言中的单个字)、26个英文字母或下划线组成的文本:^\w+$

方式三:查找和替换区域内容

前面的几种方式都是查找相应的文本内容,而这里的查找内容是指一整块区域,同时我们也可以将之替换为相应的文件内容。这是几种比较常见的操作:

  • 批量删除文档的前几页
  • 批量在文档中插入其它的 Word 文件
  • 批量将文档中的某页替换为另外一个文件的内容

常见问题

为什么不支持 glob 通配符?

答案很简单,我们已经支持更为强大的正则表达式了呀,况且 glob 通配符一般用于查找文件名与路径相关的场景中。而且,正则表达式本身就是有通配符的,想怎么匹配就怎么匹配,强大的不得了。

为什么查找不成功?

  • 一定要先检查自己的选项是否设置正确,以及是否前后有空白等
  • 查找的内容在实际文档中的中间是否有换行等特殊标识
  • 由于 PPT 的特殊性,有些语句看起来是连在一起的,而实际上是由多个「文本块」组成的,而我们这里的查找是按「文本块」来查找,不能跨块去查找
  • 可以建一个简单的文件尝试一下