删除 vscode 片段转换中的尾随逗号

Remove trailing comma in vscode snippet transform

我想要的

我正在尝试改造这个:

foo awehorihawolvbahvierwba3485y089726y216
bar :aw]\e[;r\a32[5a94t8g-09po

进入这个:

foo,
bar

问题

我目前的解决方案是删除“垃圾”并将其替换为逗号:



${1/(\w+).*/,/gm}

然而,这留下了一个尾随逗号,我发现每次都删除尾随逗号很烦人。

foo,
bar,

我试过的

采用最初的想法并将其嵌套到此转换中

${<insert transform here>/,$//}

... like this ...

${${1/(\w+).*/,/gm}/,$//}

您似乎是在触发代码段,然后将文本粘贴到其中,因为您只使用 </code> 作为输入。如果不是这种情况,请告诉我们,修改它以进行选择等可能很容易。</p> <p>这会起作用:</p> <pre><code> "add a comma only if": { "prefix": ["py"], // whatever prefix you want "body": [ "${1/(\w+).*(?=$(\r?\n)?)/${2:+,}/gm}" // "${1/(\w+).*$(\r?\n)?/${2:+,\n}/gm}" // this also works ] },

它适用于任意数量的输入行,在除最后一行之外的每行末尾放置一个逗号。

(?=$(\r?\n)?) 对换行符的正面前瞻,如果在第 2 组中捕获
${2:+,}如果是第2组,加逗号