用 vscode 替换片段中的大写字母

Replace and upper case in a snippet with vscode

我想替换 myAppContext 中的 Context 和按 Tab 键时的大写字母,所以最终结果应该是 MyApp.

我宁愿一次性完成。这是我开始的地方。:

删除'Context'我可以${1/Context//} 对于大写:${1/(^[a-z])/${1:/upcase}/}.

结合这两者的最佳方法是什么?

您可以使用

${1/^([a-z])|Context/${1:/upcase}/g}

参见regex demo

此处,^([a-z])|Context 匹配字符串开头的小写 ASCII 字母(将其捕获到第 1 组)或 Context 子字符串,并将匹配项替换为大写的第 1 组值(如果 Context 匹配,它将为空。

使用 capitalize 转换非常简单:

${1/(.*)Context/${1:/capitalize}/}

只需将 Context 之前的所有内容都大写 - capitalize 无论如何只适用于第一个字母。不需要 g 标志。