03-31-2022 01:23 PM
Hi, I am trying to parse a list I am getting and putting it into 2 columns.
My value is $email is (xyz@test.com, abc@de.com, 13432@me.com)
What I want to accomplish is parse out $email into two columns in mapper $primaryEmail and $secondaryEmail
I am able design the pipeline to get primary $email.split(‘,’,1). that returns xyz@test.com
By using the search function I am able to determine the index of the first , I was then going to slice it.
$email.search(‘,’) returns 13
how to I encapsulate that in a slice?
Any suggestions ? Thanks in advance.
Solved! Go to Solution.
04-06-2022 12:42 PM
Ah, sorry, misunderstood the requirement.
In that case, you could do something like this:
$email.split(',')[0]
→ primary
$email.split(',').slice(1).join(',')
→ secondary
Here’s an example pipeline to play around with if it’s helpful.
split-example_2022_04_06.slp (4.9 KB)
03-31-2022 01:30 PM
The Split function has an optional limit argument. If you don’t include it, then it’ll split each value. So you should be able to do: $email.split(',')[0]
for the value of the primary email and $email.split(',')[1]
for the value of a secondary. You may need to handle the case where the email field doesn’t include a comma delimiter and other situations, but that’s the general approach I’d take.
04-06-2022 08:30 AM
Thanks for the suggestion tlkarish and that wasn’t exactly what I was looking for. Sorry for not being clear.
Using example $email is (xyz@test.com, abc@de.com, 13432@me.com)
I would like to return the following
$primaryEmail - xyz@test.com
$secondaryEmails - abc2de.com, 13432@me.com
Thanks in advance.
04-06-2022 08:54 AM
You can use this expression given above to get the primary email:
$email.split(',')[0]
And this expression to extract the secondary emails after the primary:
$email.substr($email.indexOf(',') + 1)
keep in mind if there is no secondary email/comma in the given $email string the primary and secondary emails will be the same email.
04-06-2022 12:42 PM
Ah, sorry, misunderstood the requirement.
In that case, you could do something like this:
$email.split(',')[0]
→ primary
$email.split(',').slice(1).join(',')
→ secondary
Here’s an example pipeline to play around with if it’s helpful.
split-example_2022_04_06.slp (4.9 KB)