修改字符串的正则表达式在Velocity Template中不起作用

时间:2017-05-19 06:32:17

标签: regex apache templates velocity

我编写了一个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 '

正则表达式部分无效。我遗失了什么?请帮我在速度模板中为这个字符串操作编写一个正则表达式。

0 个答案:

没有答案