精通非常规文本替换

在用电脑办公或写作的过程中,成批替换操作是常会用到的提效措施。常见的成批替换是将固定的甲字词句成批替换为固定的乙字词句。这样的操作极容易掌握。但还有一些特殊情况,替换的甲乙双方都不固定。如将E1-18-ABCD这样格式的产品型号字符串统统改为ABCD.E1.18这种形式,这就为替换操作提出了新的难题。

小提示:

从软件的轻便性和功能的灵活性来讲,使用EmEditor更为高效。Word、WPS中也能完成,但操作过程更为繁琐,此外还有格式上的各类旁因,因此CFan建议在面对复杂替换时,使用EmEditor会方便许多。

1. 增减内容型

(1)增加前缀型

有一列日期数据,都是短格式(如140429、130812等),要统一替换为长日期串(如20140429、20130812等),需要在前面统统加上"20"两个数字。前面给出的6位数字都不固定,如何替换?

替换方法:

用控制键Ctrl+H先激活替换框,启用"使用正则表达式"复选框,在"查找"框中先输入字符"^(.*)$"6个半角字符;在"替换为"框中输入"201",执行"替换全部"按钮即可实现成批添加前缀(图1 成批添加前缀)。

精通非常规文本替换

技巧解读:

以上方法巧用了段首判断控制符"^"、段尾判断控制符"$",以及通配符".*"相结合,用一个表达式"^(.*)$"就能扫描出所有6位短日期字串。与此同时,用一组小括号控制符,定义了当前组6位短日期串的编码(只有一组,所以编码为1)。而后在"替换为"对话框中,先给出要添加的前缀20,然后再附上原有的6位日期串(用代码"1"表示),完成替换表达式的构造。

(2)添加后缀型

有了上面的基础,如果要将09-18、12-28这样的零件短型号数据列表后,统一加上型号后缀-AB,变成09-18-AB、12-28-AB这样的格式,就简单多了。

替换方法:

构造"查找"表达式"(..-..)$","替换为"表达式"1-AB",执行全部替换操作即可(图2 成批添加后缀)。

精通非常规文本替换

技巧解读:

这次仅用了段尾控制符,前面的位数控制由通配符加原有的连字符"-"来构造表达式"..-.."。

(3)删除前后缀

如果反过来,需要将上述例子中的前缀或后缀成分统统删除掉,替换操作该如何进行?

替换方法:

删除前缀,在"查找"框中输入"^"加前缀字串;删除后缀,在"查找"框中输入后缀字串加"$"。在"替换为"文本框中清空所有内容(注意,连同空格也不能输入,空格也是占位字符)。然后执行全部替换即可将所有前缀或后缀都清空(图3 清空前缀与后缀)。

精通非常规文本替换

小技巧:

如果要在中间插入内容,或删除中间部分的内容,也可以采用如上表达式构造技巧。例如,要在长日期字串20140918的中间插入连字符,变成2014-09-18这样的格式,可以这样操作:在"查找"框中输入"^(....)(..)(..)$",在"替换为"框中输入"1-2-3",执行全部替换。反过来,若要将2014-09-18格式变为20140918,则只需将查找表达式写成"^(....)-(..)-(..)$",将替换为表达式写成"123"即可。这又是灵活定义和使用了3个变量表达式的结果。

2. 位置颠倒型

除了上述介绍的前后缀或中间部分的替换外,有时还需要进行位置的颠倒替换。例如,要将形如10-28-2015的长日期格式统一替换为2015.10.28。这就涉及到了在替换的同时颠倒位置顺序。

替换方法:

先构造一个3段"查找"表达式,用1代表月份,用2代表日,用3代表年份,然后分别用新的顺序和新的间隔符号来构造替换表达式。具体操作方法是:在"查找"框中输入"^(..)-(..)-(....)$",在"替换为"框中输入"3.1.2",点击"替换全部"。最后的替换结果如图右侧所示(图4 颠倒位置替换)。

精通非常规文本替换

3. 段落处理型

有时我们从网上下载的小说,该断开的段落却被广告语连接在了一起;而又有的时候,该是一个自然段的内容却被某个符号断开为两截。这种情况下,就需要对不正确的段落进行断开或连接的批量替换处理。

段落断开:

有的商家在网页中插入了隐含的广告语(例如:ABC期货交易),当我们复制一篇文章后发现该断开的地方都被"ABC期货交易"这几个字给连上了。这时,可以用"ABC期货交易"作为"查找"内容,在"替换为"对话框中输入"n"这个控制符,执行成批替换,它代表了凡是遇到这个广告的地方,都自动替换为自然段换行。这样就解决了段落自动批量整理问题。

段落连接:

如果下载的小说文本,每个段落都被一个特殊的符号(如■)断开了,我们也可以巧妙地利用自然段控制符将其一次性连接起来。具体方法:在"查找"文本框中输入"■n",保持"替换为"文本框为空,不能有任何内容(包括空格),执行全部替换。

小提示:

除了段落连接或断开替换外,另有其他一些常用的非打印字符替换,如跳格、段首空格、大小写等,这些都可以由特定的控制符来完成替换。如:空格s、跳格t、小写l、大写u等(图5)。

精通非常规文本替换

有时可能还需要在多个文本中进行搜索和替换。这时,可利用EmEditor高版本中集成的跨文档替换功能来实现。具体操作方法是,点击"查找"菜单下的"在文件中替换"命令,然后指定要搜索的文件所在的文件夹,选择是否包含子文件夹;最后用如上提到的方法构造替换表达式,完成全部替换操作(图6)。

精通非常规文本替换

京ICP备11047313号-19 彩虹岛电子书