如何在Notepad++中用正则表达式为单行特定内容添加双引号
用正则表达式给每行最后一组|||后的内容加双引号的实现方法
完全可以用正则表达式实现这个需求,下面是具体的操作思路和不同工具下的实现步骤:
核心正则逻辑
我们需要匹配每行中最后一组|||之后的所有内容,然后将这部分内容用双引号包裹。通过分组捕获即可实现:
- 匹配正则:
^(.*\|\|\|)(.*)$- 第一组
(.*\|\|\|):捕获每行从开头到最后一组|||的全部内容 - 第二组
(.*):捕获最后一组|||之后到行尾的全部内容
- 第一组
- 替换模板:
$1"$2"$1引用第一组捕获的内容(即每行前半段的OPPO|||CPH1931|||部分)"$2"把第二组捕获的目标内容用双引号包裹
不同工具的具体操作
1. 文本编辑器(以VS Code为例)
- 打开目标文本文件,按下
Ctrl+H(Windows/Linux)或Cmd+H(Mac)打开替换面板 - 点击替换面板右上角的
.*按钮,开启正则匹配模式 - 「查找内容」框输入:
^(.*\|\|\|)(.*)$ - 「替换为」框输入:
$1"$2" - 点击「替换全部」完成批量修改
2. 命令行工具(以sed为例,Linux/macOS)
在终端执行以下命令(假设目标文件为input.txt,结果输出到output.txt):
sed -E 's/^(.*\|\|\|)(.*)$/\1"\2"/' input.txt > output.txt
-E参数开启扩展正则模式,减少转义符号的使用s///是sed的替换命令,格式为s/匹配规则/替换内容/
效果验证
输入内容:
OPPO|||CPH1931|||Jl. ABC No.1,A,E OPPO|||CPH1931|||Jl. DEF No.2,X,Y OPPO|||CPH1931|||JL. GHI No.3,Z,A
替换后结果:
OPPO|||CPH1931|||"Jl. ABC No.1,A,E" OPPO|||CPH1931|||"Jl. DEF No.2,X,Y" OPPO|||CPH1931|||"JL. GHI No.3,Z,A"
内容的提问来源于stack exchange,提问作者Kevin Samuel
相关产品推荐
相关产品推荐

