You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改VSCodeVim正则替换语句去除SQL JOIN末尾多余的and?

解决VSCodeVim正则替换末尾多余"and"的问题

推荐方案:Vim表达式替换(一次完成,适配任意单词数)

直接用Vim的表达式计算能力,从拼接逻辑上避免多余的and:

:s/\v(.+)/\=join(map(split(submatch(1)), 'a.'.v:val.' = b.'.v:val), ' and ')/
  • 逻辑说明:
    1. \v(.+)匹配整行的目标文本(确保要转换的内容单独占一行)
    2. split(submatch(1))把文本按空格拆分成单词数组
    3. map遍历数组,将每个单词转为a.单词 = b.单词的格式
    4. join用and把所有片段拼接起来,天然不会出现末尾冗余的连接词

原命令的问题在于给每个匹配的单词都追加了and,包括最后一个,所以会多出结尾的and。这个方案从根源上解决了问题,不需要二次替换。

内容的提问来源于stack exchange,提问作者catquas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 08:03:17