利用VSCode正则方式捕获组替换,编码效率一飞冲天

诉求

我们经常需构造一些数据变成SQL或者JAVA代码,但是数据内容其实是从excel或者别的地方复制过来的,如下的字符串

aa
bbbbbb
ccc

我们在SQL中需要变成

select * from tab where col in ('aa','bbbbbb','ccc')

或者在JAVA中变成

String[] arr=new String[]{"aa","bbbbbb","ccc"};

其实规律很直接,我们就是需要在每一行的前后追加一下单引号/双引号再补充一个,号就行。

思路

拍大腿想到的办法

我们要做的其实就是拿到每一行,然后在每一行前后追加点我们要的数据,虽然每行开头其实可以用列编辑的操作追加一下,但是每行末尾因为那个字符串长度其实并不一样,也不好列编辑。

大神给的办法

一般大神的思路是,我如果可以选择一行我追加不就得了,这个时候需要请出我们强大的正则操作了,VSCODE是支持正则的,在替换的时候我们需要进行组捕获。

直接上货,在替换的时候选择正则模式,这个是前提

在这里插入图片描述
接下来,匹配的时候输入 ,匹配整行的正则

(.*)

第三,替换结果的时候输入’$1’, 这个的含义是表示引用匹配到的内容,在前后追加单引号和逗号,具体就是,我们匹配到上面的aaa,则替换之后变成 ‘aaa’, 这种效果,原有匹配的内容aaa会在替换结果中继续使用

'$1',

然后点击替换,就是我们要的效果了
在这里插入图片描述

延伸

细心的小伙伴肯定发现了,我们其实在匹配的时候引用到了原文,方面我们做更多的事情了,比如说追加删除部分的内容,这比传统的替换方式强大很多。好了,点到为止~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值