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

2024-08-25 19:28

本文主要是介绍利用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',

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

延伸

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

这篇关于利用VSCode正则方式捕获组替换,编码效率一飞冲天的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1106442

相关文章

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

用命令行的方式启动.netcore webapi

用命令行的方式启动.netcore web项目 进入指定的项目文件夹,比如我发布后的代码放在下面文件夹中 在此地址栏中输入“cmd”,打开命令提示符,进入到发布代码目录 命令行启动.netcore项目的命令为:  dotnet 项目启动文件.dll --urls="http://*:对外端口" --ip="本机ip" --port=项目内部端口 例: dotnet Imagine.M

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念

C++ | Leetcode C++题解之第393题UTF-8编码验证

题目: 题解: class Solution {public:static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num &

vscode中文乱码问题,注释,终端,调试乱码一劳永逸版

忘记咋回事突然出现了乱码问题,很多方法都试了,注释乱码解决了,终端又乱码,调试窗口也乱码,最后经过本人不懈努力,终于全部解决了,现在分享给大家我的方法。 乱码的原因是各个地方用的编码格式不统一,所以把他们设成统一的utf8. 1.电脑的编码格式 开始-设置-时间和语言-语言和区域 管理语言设置-更改系统区域设置-勾选Bata版:使用utf8-确定-然后按指示重启 2.vscode

【即时通讯】轮询方式实现

技术栈 LayUI、jQuery实现前端效果。django4.2、django-ninja实现后端接口。 代码仓 - 后端 代码仓 - 前端 实现功能 首次访问页面并发送消息时需要设置昵称发送内容为空时要提示用户不能发送空消息前端定时获取消息,然后展示在页面上。 效果展示 首次发送需要设置昵称 发送消息与消息展示 提示用户不能发送空消息 后端接口 发送消息 DB = []@ro

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return

脏页的标记方式详解

脏页的标记方式 一、引言 在数据库系统中,脏页是指那些被修改过但还未写入磁盘的数据页。为了有效地管理这些脏页并确保数据的一致性,数据库需要对脏页进行标记。了解脏页的标记方式对于理解数据库的内部工作机制和优化性能至关重要。 二、脏页产生的过程 当数据库中的数据被修改时,这些修改首先会在内存中的缓冲池(Buffer Pool)中进行。例如,执行一条 UPDATE 语句修改了某一行数据,对应的缓

form表单提交编码的问题

浏览器在form提交后,会生成一个HTTP的头部信息"content-type",标准规定其形式为Content-type: application/x-www-form-urlencoded; charset=UTF-8        那么我们如果需要修改编码,不使用默认的,那么可以如下这样操作修改编码,来满足需求: hmtl代码:   <meta http-equiv="Conte

Java 多线程的基本方式

Java 多线程的基本方式 基础实现两种方式: 通过实现Callable 接口方式(可得到返回值):