我有一个模式,CSV文件中的数字之间有双引号.我可以通过[0-9] \"[0-9]搜索模式,但是如何在删除双引号时保留值.CSV格式如下:
"1234"5678","Text1","Text2"
"987654321","Text3","text4"
"7812891"3","Text5","Text6"
Run Code Online (Sandbox Code Playgroud)
你可能会注意到我想删除的某些数字之间有双引号.
我尝试了以下方法,这是不正确的:
:%s/[0-9]\"[0-9]/[0-9][0-9]/g
Run Code Online (Sandbox Code Playgroud)
是否可以在每个搜索模式下执行命令,可以向前移动一个字符并删除它.如何在搜索和替换中嵌入"lx".
我知道这个问题已经得到解答,但这是另一种方法:
\n\n:%s/\\d\\zs"\\ze\\d\nRun Code Online (Sandbox Code Playgroud)\n\n解释:
\n\n%s\xc2\xa0\xc2\xa0替换整个缓冲区
\n \\d\xc2\xa0\xc2\xa0\xc2\xa0查找数字
\n \\zs\xc2\xa0在此处设置匹配的开始
\n "\xc2\xa0\xc2\ xa0\xc2\xa0\xc2\xa0\xc2\xa0查找双引号
\n \\ze\xc2\xa0在此处设置匹配结束
\n \\d\xc2\xa0\xc2\xa0\xc2\xa0查找数字
这使得替换命令仅匹配数字包围的双引号。
\n省略替换字符串只会删除匹配项。