TBtools | 一个便捷的批量字符串替换工具 - 支持正则

写在前面

最近依旧在肝课题。遇到了一个需求,即批量文本替换。可以说,我有这个需求已经有很长时间了,一直没下决心写一个。但现在课题有需要,不写感觉影响我[ 在windows下搞定 ] 所有下游分析。
批量文本替换的主要应用场景有如下:

  1. 大表格中,样品名字要调整(也就是我现在的需求)

  2. 大文本文件中,有些字符串要调整(比如 gff3 文件,做一些 ID 调整)

  3. 批量操作,目前市面上似乎没有直接工具。大多数文本编辑器支持的是 OneByOne,比如Notepad++,先替换LG1为Chr1,再替换gene1为litchi_00001.... 一个一个替换,其实并不实际。

  4. 似乎并没有看到哪里有顺手的界面化工具,支持大文件处理,即不打开文件的情况下,做文本/正则替换处理。
    ....

于是,我写了一个 Batch String Replace,解决以上痛点。

Batch String Replace 功能介绍

找到这个功能,可以通过菜单选择,也可以直接用右上角的功能快速搜索框,输入 Batch... 关键词即可看到。

大体的使用方式如下

使用示例

为了方便演示,此处使用纯粹的文本模式。支持文件输入输出,这块不做也无需演示。
示例一 - 字符串

替换之后

示例二 - 正则表达式
当然 ,一些时候,如果你会写正则,那么一切会方便很多

PS: 当然,还是要注意,批量替换的时候 ,会对逐个模式进行替换,使用时还是注意一下摆放顺序,虽然很多时候并不重要。可以通过写更为Specific 的模式来解决。

题外

前前后后 TBtools 也写了五年。从某个角度来说,也可以说是我写 GUI 工具五年了。可能和其他不少开发者有所不同。我写工具的目的是为了解决自己的分析需求 ,所以绝大多数功能,我自己都一直有在用。作为用户,我自己常常会发现一些痛点。在开展分析的过程中,我们可能:

  1. 文件到文件,需要对一个文件,如GFF3或者一些表格文件做文本替换

  2. 文本到文本,只是手上有一段文本要替换,同时要直接可以复制到替换结果

  3. 使用已有的模式列表,或者是直接手写几个模式

  4. 需要测试正则表达式
    .....

于是,我终于还是写了两个Java Beans。使用这两个Beans,甚至可以简化以前的一些功能界面,如 Blast 功能的三个模式.....

当然还有其他.... 或许界面化工具的主要优势之一,即是便捷。

写在后面

Emmm... 这几天同一届的博士研究生如期毕业了。我的情况可能不太多人有了解,亦即延期半年,9月份或者12月份再毕业。着急毕业对我来说其实也没啥用处,毕竟从某个角度来说,我觉得学位并不重要。关键拿着这个学位,看得上你的还是看得上你,不拿这个学位,看不上你的一样看不上你。出了学校,自然会有人看你的过去,但最终成果几何,还是看个人能力。
无论如何,最近手上的事情忙不过来了,但还是遇到一些不得不处理的万万没想到会遇到的事情。原本已经有计划释放系列 TBtools 视频教程,但现在看来不太实际。当然,纯粹公益已被证明为我带来更多麻烦,不是我个人希望的结果。多少收个意思(九毛九),可以隔绝一些无谓琐事。

感兴趣的可以扫码看看... 先做个测试,看看值不值得。

(0)

相关推荐