velocity script newbie - lowercase first initial

JD_Nelson
Level 10 - Community Advisor

velocity script newbie - lowercase first initial

Hi there - just learned that velocity scripting exists in Marketo! Where have I been, under a rock somewhere!? Anyway, now I just wish I knew how to use it. In the meantime, maybe someone can help point me in the right direction on how to get a lowercase first initial for my lead records?  I tried to modify an uppercase script (granted it does the whole name, but 1 thing at a time) and I couldn't even get that to work (changed 'capitalize' to 'lowercase').

Thanks all!!

#set ($fname = ${lead.FirstName})

#if($fname.equals(""))

there

#else

$display.lowercase($fname)

#end

21 REPLIES 21
Frank_Breen2
Level 10

Re: velocity script newbie - lowercase first initial

JD I think this is the code you want:

#set ($fname = ${lead.FirstName.toLowerCase()})

$display.uncapitalize($fname)

Info here. Look at this article too.

JD_Nelson
Level 10 - Community Advisor

Re: velocity script newbie - lowercase first initial

Thanks - I'm getting "$display.uncapitalize($fname)" in my email when I test it. AmI doing something wrong?

Nicholas_Manojl
Level 9

Re: velocity script newbie - lowercase first initial

It's actually like this:

#set ($fname = ${lead.FirstName.toLowerCase()})

<p>Hi $fname</p>

Just be mindful this actually makes the entire word lowercase.

Alternatively you could make just the first letter lower case:

#set ($fname = ${lead.FirstName})

<p>Hi $display.uncapitalize($fname)</p>

Or you could make everything uppercase first, and then just make the first letter lowercase (why?).

#set ($fname = ${lead.FirstName.toUpperCase()})

<p>Hi $display.uncapitalize($fname)</p>

JD_Nelson
Level 10 - Community Advisor

Re: velocity script newbie - lowercase first initial

what if I just want the first letter of the first name?

i.e. "j"

Nicholas_Manojl
Level 9

Re: velocity script newbie - lowercase first initial

#set ($fname = ${lead.FirstName})

<p>Hi $display.uncapitalize($fname)</p>

So it someone is in your database as FRANK, it will render as fRANK.

JD_Nelson
Level 10 - Community Advisor

Re: velocity script newbie - lowercase first initial

but I just need it to render as "f"

I saw something about a substring to pull just the first character, but not sure how to code that in this instance.

Frank_Breen2
Level 10

Re: velocity script newbie - lowercase first initial

Also it seems like you didn't have First Name selected in the Lead Section of the Script Token, this is why you see that output:

vol-script.png

Nicholas_Manojl
Level 9

Re: velocity script newbie - lowercase first initial

Ah right.

#set ($x = ${lead.FirstName})

$x.charAt(0)

Mark me correct, I want the points

JD_Nelson
Level 10 - Community Advisor

Re: velocity script newbie - lowercase first initial

Sorry, now I'm not sure how to combine both of these; lowercase and first character only.

#set ($fname = ${lead.FirstName.toLowerCase()})

$display.uncapitalize($fname)

#set ($x = ${lead.FirstName})

$x.charAt(0)

(did not work, obviously)