Replace a Substring of a String in Velocity Template Language

kishore picture kishore · Jul 27, 2011 · Viewed 50.5k times · Source

I want to replace a part of a string in Velocity Template Language with another string.

For Example:

#set($a = "Hello")
#set($b = "+")

I want to replace ll in Hello with ++. The output should be He++o

Please help me

Thanks Kishore

Answer

Mark McLaren picture Mark McLaren · Dec 15, 2011

By default you can use the methods of the Java String object:

#set( $a = "Hello" )
#set( $b = $a.replace("l", "+") )
${b}

will produce He++o and you can also use velocity variables as arguments to your method calls, e.g.:

#set( $a = "Hello" )
#set( $b = "+" )
#set( $c = $a.replace("l", ${b}) )
${c}