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

Dea*_*n44 2 velocity intellij-idea

我想在使用 Apache Velocity 的 IntelliJ 文件模板中分别将像“RoomAvailability”这样的驼峰式字符串转换为像“房间可用性”Velocity 这样的“破折号”字符串。

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

另一种可能性是将骆驼案例转换为蛇案例,然后通过“-”替换“_”, #set($replaced = ${snake_cased_name("_", "-")}) 但我也缺少将字符串转换为蛇案例的可能性。

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

Dea*_*n44 14

我找到了解决办法。作为一个随时可用的功能,它不是很优雅,但是,它可以工作。

#set( $regex = "([a-z])([A-Z]+)")
#set( $replacement = "$1-$2")
#set( $toDash = $NAME.replaceAll($regex, $replacement).toLowerCase())
...
${toDash}
Run Code Online (Sandbox Code Playgroud)

感谢 JetBrains 的 Elena Pogorelova 在此处输入链接描述的帖子