【发布时间】:2021-01-22 17:18:04
【问题描述】:
我是 Velocity 的新手,并且正在使用 to 作为创建 maven 原型的一部分。 我需要拆分从变量(即 ${application-class-name})获得的字符串,大写字母(第 2 个),并插入下划线,例如 HomeDetails => Home_Details 有没有一种简单的方法可以做到这一点? 提前致谢
【问题讨论】:
我是 Velocity 的新手,并且正在使用 to 作为创建 maven 原型的一部分。 我需要拆分从变量(即 ${application-class-name})获得的字符串,大写字母(第 2 个),并插入下划线,例如 HomeDetails => Home_Details 有没有一种简单的方法可以做到这一点? 提前致谢
【问题讨论】:
请记住,velocity 引用是纯 Java 对象,您可以在其上调用所有公共方法。
另外,请注意,根据您使用的 Velocity 版本及其配置方式,您可能可以在引用名称中使用 -,但应尽可能避免使用它.
你通常会这样做:
#set($originalApplicationClassName = 'HomeDetails')
#set($newApplicationClassName = $originalApplicationClassName.replaceAll("(?<!)([A-Z])", "_$1"))
其中(?<!)([A-Z]) 是一个正则表达式,以一个零宽度的负向后视组开始(跳过第一个大写字母)。
【讨论】: