Hi Champions,
I want to write a script to replace last two letters of the first name, I have 5 conditions to solve here.
I am trying to decode it step by step and written below script to solve condition 1 (Replace as with ai)
#set( $Name = ${lead.FirstName} )
#set( $FormatName = $Name.trim().replaceAll("(.*)as", "ai") )
${FormatName}
The above script is replacing whole word instead of just "as", any help here is much appreciated.
Solved! Go to Solution.
try this
#set( $nameEnding = {
"as" : {
"updated":"ai"
},
"is" : {
"updated":"i"
},
"ys" : {
"updated":"y"
},
"us" : {
"updated":"au"
},
"ė" : {
"updated":"e"
}
}
)
#set( $swapChars="" )
#set( $checkChars=2 )
#if( ! $display.alt($lead.LastName,"").isEmpty() )
#set( $originalLastname = $lead.LastName )
#if ( $originalLastname.substring( $math.sub($originalLastname.length(),1) ).equals("ė"))
#set( $checkChars=1 )
#end
#set( $lastChars = $originalLastname.substring(
$math.sub($originalLastname.length(),$checkChars) ))
#if( $nameEnding.containsKey($lastChars) )
#set($outputName =
"${originalLastname.substring(0,$math.sub($originalLastname.length(),$checkChars))}${nameEnding[$lastChars].updated}")
#else
#set($outputName = $originalLastname)
#end
${outputName}
#end
I added in this line
#if( ! $display.alt($lead.LastName,"").isEmpty() )
to test to see if it has a real lead to work with. When you test an email, something can work in velocity, but when you approve the email, it'll fail as it has no lead data to actually work with.
Cheers
Jo
I