在过往的功能开发中,已经对查找替换功能做了一些增强,特别是引用了正则表达式的操作,但其替换的操作是批量性的替换,而非当前行的范围内替换,在大量的使用占位符替换某些内容时,多数是对当前行的替换,故重新开发一个对当前行的占位符的替换操作。
首先在文本处理的功能中,已经有批量替换的功能存在,详见 第25波-小白适用的文本处理功能 。
其中有常见的中文、英文、数字等的清除,还有更强大的正则处理方式来查找符合条件的字符并替换。
在多个字符串多次替换的操作中,在第101波-批量替换功能(增加正则及高性能替换能力)中,也是作了实现。
在我们需要将某几个单元格的内容串起来成为一个单元格内容时,无论使用CONCATENATE还是用&连接符,都是非常低效的,特别是在非占位符中有英文双引号时,更为如此,就如下图中,特意模拟了一些有英文双引号的例子。
经过抽象提取其逻辑后,其实我们更想要的效果是只需构造一个占位符的方式,然后有方法自动将占位符替换为对应的单元格内容即可,这将比使用公式的方式,不断地需要考虑双引号冲突了&符号两边都要加上双引号等操作方便得多。
当然这个对应关系是仅对当前行处理,而不是多行引用同一个内容。
后面视频里的演示效果不是最精简的,如下图,我们可以对替换的内容进行复用。
功能实现
功能实现有最终生成值和公式两种效果,给出两个按钮,一步到位。
具体效果,给大家上视频动画,即可感受到它的无穷便利性,反正作为一个写代码的数据分析工作者,这样的替换场景经常发生,也是由自身需求导向来开发出此功能来。