王志军
在日常工作中,我们经常会遇到一些非常规的文本替换操作,例如添加统一的前缀或后缀、删除前缀或后缀,此时无论Word或是Excel的替换功能似乎都无能为力,如果为此编写VBA代码,对于初级用户来说难度极大。这里介绍两种不同的处理办法:
方法一:借助EmEditor实现文本替换
EmEditor是一款功能极为强大的文本编辑软件,可以借助它的正则表达式实现许多非常规替换。
1.添加前缀:例如需要为140429、130812这样的短日期型数据添加“20”这样的前缀,可以从“搜索”菜单下打开“替换”对话框,或者按下“Ctrl+H”组合键,查找“^(.*)$”,这里的“^表示段首判断控制符,“$”表示段尾判断控制符,“.*”表示通配符,组合起来表示6位的短日期字符串;替换为“20\1”,由于查找框仅仅定义了一组6位的短日期型数据,因此编码为“1”,“20”自然是表示需要添加的前缀,勾选“使用正则表达式”复选框。检查无误之后,点击右侧的“替换全部”按钮,很快就可以完成前缀的添加,效果如图1所示。
2.添加后缀:例如需要为09-18、12-28这样的文本型数据添加“-AB”后缀,依然可以使用EmEditor的替换功能实现,打开“替换”对话框,查找“(..-..)$”,这里仅使用“$”这个段尾判断符,前面的位数由通配符和“-”构造表达式;替换为“\1-AB”,这里的“\1”表示查找框的第1个表达式,点击“替换全部”按钮,很陕就可以看到图2所示的后缀效果。
如果需要同时添加前缀,只要在“\1-AB”的前面同时添加前缀字符即可,例如替换“CD-\1-AB”。
3.删除前缀或后缀:如果需要将前缀或后缀批量删除,可以在“查找”框输入“^”和需要删除的前缀字符,删除后缀则输入“$”和后缀字符,“替换为”框不输入任何内容,例如图3即为删除后缀的效果,不过遗憾的是EmEditor无法同时删除前缀和后缀,只能分步操作。
方法二:借助Excel 2013的“快速填充”实现文本替换
通过刚才的介绍,我们发现虽然EmEditor的替换功能超级强大,但对于初级用户来说,依然有着不小的难度。其实,如果你已经使用Excel 2013,那么可以借助“快速填充”功能实现上述需求,而且操作更为简单,依然以刚才的实例进行介绍:
1.添加前缀:例如源数据在A列的单元格,起始单元格是A1,我们可以在B1单元格手工输入示例效果“20140429”,选中B列需要填充的单元格,在“编辑”功能组依次选择“填充一快速填充”,或者按下“Ctrl+E”组合键,很陕就可以看到图4所示的效果。
2.添加后缀:例如源数据在A列的单元格,起始单元格是A1,我们可以在B1单元格手工输入示例效果“09-18-AB”,选中B列需要填充的单元格,在“编辑”功能组依次选择“填充一快速填充”,或者按下“Ctrl+E”组合键,很快就可以完成批量添加后缀的效果(见图5)。
提示:也可以同时添加前缀和后缀,在B1单元格手工输入CD-09-18-AB,批量填充即可。
3.删除前缀或后缀:按照前面所介绍的步骤,在B1单元格手工输入需要删除前缀或后缀的效果,也可以手工输入同时删除前缀和后缀的示例效果,快速填充之后即可得到图6所示的效果。
提示:利用Excel 2013,还可以在任意位置添加或删除固定字符,也可以调整不同位置的字符,首先依然是手工输入示例效果,如果源数据不是很规范,建议输入3次示例效果。