java 字符串 占位符替换_个人永久性免费-Excel催化剂功能第110波-当前行占位符替换...

在过往的功能开发中,已经对查找替换功能做了一些增强,特别是引用了正则表达式的操作,但其替换的操作是批量性的替换,而非当前行的范围内替换,在大量的使用占位符替换某些内容时,多数是对当前行的替换,故重新开发一个对当前行的占位符的替换操作。

回顾下Excel催化剂现有的查找替换功能增强

首先在文本处理的功能中,已经有批量替换的功能存在,详见 第25波-小白适用的文本处理功能 。

其中有常见的中文、英文、数字等的清除,还有更强大的正则处理方式来查找符合条件的字符并替换。

5526fa4fedf3f66146064640beec599e.png

c981691a35397e1c7e1a7bc3a1144918.png

在多个字符串多次替换的操作中,在第101波-批量替换功能(增加正则及高性能替换能力)中,也是作了实现。

278e682fb1c6626d0b79eba0b86111fc.png

无比低效的普通字符串连接法实现占位符替换

在我们需要将某几个单元格的内容串起来成为一个单元格内容时,无论使用CONCATENATE还是用&连接符,都是非常低效的,特别是在非占位符中有英文双引号时,更为如此,就如下图中,特意模拟了一些有英文双引号的例子。

2b82432aa81b6008aaf7f5e8f656ab53.png

经过抽象提取其逻辑后,其实我们更想要的效果是只需构造一个占位符的方式,然后有方法自动将占位符替换为对应的单元格内容即可,这将比使用公式的方式,不断地需要考虑双引号冲突了&符号两边都要加上双引号等操作方便得多。

当然这个对应关系是仅对当前行处理,而不是多行引用同一个内容。

后面视频里的演示效果不是最精简的,如下图,我们可以对替换的内容进行复用。

b61528773321271e1b92ad3df47ed471.png

功能实现

功能实现有最终生成值和公式两种效果,给出两个按钮,一步到位。

3c5c88aa585d261b6c2db8aee30b17e5.png

具体实现步骤

  1. 将需要替换的文字部分用大括号括起来,让程序可识别到,如果原数据也有大括号,问题应该也不大,因程序识别的是{列字母}
  2. 同样地我们无需多行内容都构造,只需将顶行给构造好,余下同样规则的自动按顶行的内容来操作,留下的步骤就是需要选定要操作的数据区域,让程序好知道要替换哪些行哪些单元格(人性化地自动将隐藏行的单元格忽略处理)
  3. 最后根据需要生成的是值还是公式,选择不同的按钮即可完成,公式的话,当然后期引用列的内容更新了,可同步更新,某些场景上更有优势。

31a8942ab57959c6ca8853b9dbfb94c5.png

具体效果,给大家上视频动画,即可感受到它的无穷便利性,反正作为一个写代码的数据分析工作者,这样的替换场景经常发生,也是由自身需求导向来开发出此功能来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值