0

我正在尝试从 TM_DIRECTORY 变量(提供完整路径)中获取“基本目录”,以转换为 PascalCase(在蛇案例中)。

所以,对于/this/is/path/to/base_dir,我想得到BaseDir

这是我到目前为止所得到的:

${TM_DIRECTORY/(^.+\\/(.*)$)/${2:/capitalize}/g}从此_

这给了我:

Base_dir为了/this/is/path/to/base_dir

我觉得我必须以某种方式合并${TM_DIRECTORY/((^[a-z])|_([a-z]))/${2:/upcase}${3:/upcase}/g},但不知道如何。

4

1 回答 1

0

用这个:

  "${TM_DIRECTORY/(^.+\\/(.*)$)/${2:/pascalcase}/}",

遗憾的是,该pascalcase选项没有记录在案。

如果该选项不可用,我建议这样做:

  "${TM_DIRECTORY/.*\\/(.*)_(.*)$/${1:/capitalize}${2:/capitalize}/}",

这个想法是在两个捕获组中获取最后一个目录,将每个目录大写并忽略下划线分隔符(即,它不会出现在转换部分中)。

概括地说,如果您的目录名称中除了下划线之外还有其他名称分隔符,您可以[_-]在该中间部分使用它 - 只需包含其他可能的分隔符。

于 2020-05-22T21:19:09.383 回答