Velocity - 在大写字母上拆分字符串并插入下划线
Velocity - split string on Capital and insert underscore
我是 Velocity 的新手,正在使用它作为创建 Maven 原型的一部分。
我需要拆分从变量中获取的字符串,即 ${application-class-name},在大写字母上(从第二个开始),并插入下划线,例如
主页详细信息 => Home_Details
有没有一种简单的方法可以做到这一点?
提前致谢
请记住,速度引用是普通的 Java 对象,您可以在其上调用所有 public 方法。
此外,请注意,根据您使用的 Velocity 版本及其配置方式,您可能能够在引用名称中使用 -
,但是你应该尽可能避免它。
你通常会这样做:
#set($originalApplicationClassName = 'HomeDetails')
#set($newApplicationClassName = $originalApplicationClassName.replaceAll("(?<!)([A-Z])", "_"))
其中 (?<!)([A-Z])
是以 零宽度负后视 组开头的正则表达式(跳过第一个大写字母)。
我是 Velocity 的新手,正在使用它作为创建 Maven 原型的一部分。 我需要拆分从变量中获取的字符串,即 ${application-class-name},在大写字母上(从第二个开始),并插入下划线,例如 主页详细信息 => Home_Details 有没有一种简单的方法可以做到这一点? 提前致谢
请记住,速度引用是普通的 Java 对象,您可以在其上调用所有 public 方法。
此外,请注意,根据您使用的 Velocity 版本及其配置方式,您可能能够在引用名称中使用 -
,但是你应该尽可能避免它。
你通常会这样做:
#set($originalApplicationClassName = 'HomeDetails')
#set($newApplicationClassName = $originalApplicationClassName.replaceAll("(?<!)([A-Z])", "_"))
其中 (?<!)([A-Z])
是以 零宽度负后视 组开头的正则表达式(跳过第一个大写字母)。