我编写了一个java代码来读取速度模板文件,并在字符串操作后打印输出。 java代码如下所示
VelocityEngine velocity = new VelocityEngine();
velocity.init();
/* next, get the Template */
Template t = velocity.getTemplate( "./src/abc.vm" );
/* create a context and add data */
VelocityContext context1 = new VelocityContext();
context.put("a", "200001");
context.put("b", "s12.1");
/* now render the template into a StringWriter */
StringWriter writer = new StringWriter();
t.merge(context, writer);
/* show the World */
System.out.println( writer.toString() );
字符串操作逻辑写在模板文件中,如下所示。 abc.vm模板内容如下。
#set($c = $b.replace("[^\\d.]"," "))
#set($appnd = "$c$a")
String After modification : $appnd
为此,我想要的输出是
字符串修改后:121200001
但字符串修改不会在这里发生。目前输出的结果是 s12.1200001 '
正则表达式部分无效。我遗失了什么?请帮我在速度模板中为这个字符串操作编写一个正则表达式。