cancel
Showing results forย 
Search instead forย 
Did you mean:ย 

Camel Case in Snaplogic

subhash_a_chand
New Contributor

How can we convert the string in Camel Case in mapper ?

7 REPLIES 7

Sure, but in your example that is not really camel case. it should result in a string that looks like this:
โ€œtestUpperCaseโ€

Also, the camelCase method will be able to convert all sorts of strings into camel case. not just ones seperated by spaces. for example:

โ€œfooโ€“barโ€.camelCase() โ†’ fooBar

โ€œfoo**barโ€.camelCase() ->fooBar

so if the use case is for special characters as well as spaces, Iโ€™d use the camelCase method

jovan_j
New Contributor III

Hi cjhoward18,

To achieve this you could extend your expression: โ€œtest camel-case+&^%$#@!*to=upperโ€.replace(/\b\w/g, chr => chr.toUpperCase()).replace(/[^a-zA-Z0-9]/g, โ€œโ€)
image

Even that expression and example results in a string/strings not quite in camel case. It should result in a string like this: โ€œtestCamelCaseToUpperโ€ for your example. The first word of a camel case word should be ALL lower case letters.
So, simply uppercasing the first letter of the recognized word will not achieve correct camel case, and not preserve already existing camel Case words. For another case similar to your example โ€œtest cAMEL-CASE+&^%$#@!*TO=UPPERโ€.camelCase() the result should be:
โ€œtestCAmelCaseToUpperโ€ however your expression would result in: โ€œTestCAMELCASETOUPPERโ€, so I would really recommend using the camelCase method given in 4.17 since designing an expression to do this for all cases will not be trivial.

You can use Lodash REPL:
https://lodash.com/docs/4.17.11#camelCase
to see how camelCasing should behave.