删除 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组,加逗号
我想要的
我正在尝试改造这个:
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组,加逗号