在 Velocity 或 IntelliJ 文件模板中将驼峰大小写字符串转换为蛇形大小写或破折号大小写

Transform camel cased String to snake case or dash case in Velocity or IntelliJ File Template

我想在使用 Apache Velocity 的 IntelliJ 文件模板中分别将像 "RoomAvailability" 这样的驼峰式字符串转换为像 "room-availability" Velocity 这样的 "dash cased" 字符串。

我发现有几十个帖子从蛇案例到骆驼案例都在询问,这对 e 没有问题。 G。 #set($name = ${StringUtils.removeAndHump("room_availability")}) 导致 RoomAvailability。

另一种可能是将骆驼大小写转换为蛇形大小写,然后通过以下方式将“_”替换为“-” #set($replaced = ${snake_cased_name("_", "-")}) 但我也错过了将字符串转换为蛇形的可能性。

是否有任何选项可以分别在 IntelliJ 文件模板和 Velocity 中执行类似的操作?

我找到了解决办法。作为一个随时可用的功能来说不是很优雅,但是,它确实有效。

#set( $regex = "([a-z])([A-Z]+)")
#set( $replacement = "-")
#set( $toDash = $NAME.replaceAll($regex, $replacement).toLowerCase())
...
${toDash}

感谢 JetBrains 的 Elena Pogorelova 在 enter link description here

为她 post