VS 代码片段:如何用空格替换下划线并大写单词

VS Code Snippets: How to replace underscore with spaces and capitalize words

我可以用 </code> 中的空格替换下划线,像这样 <code>${1/[_]/ /g}

并且大写是用${1/(.*)/${1:/capitalize}/}

完成的

但是如何将两者结合起来得到这样的结果:

model_name --> Model Name?

尝试:

"${1/([^_]*)(_?)/${1:/capitalize}${2:+ }/g}"

这将捕获组 1 中下划线之前的所有内容并将该组大写。

下划线,如果有的话,会在捕获组2中。${2:+ }是一个条件:如果有捕获组2,则添加一个space。

请注意,末尾的全局 g 是重复匹配输入中的每个组所必需的。

它适用于任何长度的输入:

model
model_name
model_name_more_stuff    // etc.