Forum Discussion

jdsnap's avatar
jdsnap
New Contributor II
4 years ago
Solved

Parsing a string into 2 columns

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.

5 Replies

  • 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.

    • cjhoward18's avatar
      cjhoward18
      Employee

      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.

      • jdsnap's avatar
        jdsnap
        New Contributor II

        Thanks for both of your help.