cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IdentityNow Transforms - Split

IdentityNow Transforms - Split

The transform documentation listed here is outdated and is nonger actively maintained. Please refer to https://developer.sailpoint.com/idn/docs/transforms for IdentityNow Transform documentation.

Labels (1)
Comments

If you need to split on a dot (.) use this for a delimiter instead of the dot.

"delimiter": "\\.",

@vkoldenh thanks for mentioning this, I was definitely stuck. I ran into the same issue, but when trying to split as an opening parenthesis: (

I tried your solution and it worked:

"delimiter": "\\("

 An additional FYI - I had to apply @vkoldenh 's solution to the Replace Transform as well, in the "regex" attribute:

"regex": "\\)",
"replacement": ""

 

Thank you for your help with this. 

I've been trying to split a value based on anything after the last space.

So in the instance of Giovanni Haldeen Brockhorst (let's assume that's a user's name) I'd love to chop it up into 3 pieces, call back the first item on the array and the last. In this case though it's easy enough to just delimit on spaces with an index of 2.

But the previous solution doesn't necessarily work when we hire on someone with 4 or 5 names.

Let's use Akon, yep, the R&B singer, as an example; his name on IMDB is "Aliaune Damala Bouga Time Bongo Puru Nacka Lu Lu Lu Badara Akon Thiam". In a perfect world I get this shortened down to Aliaune.Thiam you know?

Looking forward to what yall think! I don't know if this question would be better suited in the Trim, Split, Index, or any other specific transform comments instead.

 

 

@Ryan_DeLeon for your use case you'll probably need a nested transform with

Split - to get the first word using space as a delimiter.

LastIndexOf - to find the position of the last space.

Substring - using the result from LastIndexOf as the begin attribute to get the last word

Concatenation - to bring everything together into first.last

@Ryan_DeLeon And because it was spinning around in my head - here you go, my very first nested transform
 

 

{
  "id": "First and Last",
  "attributes": {
    "values": [
      {
        "attributes": {
          "delimiter": " ",
          "index": 0
        },
        "type": "split"
      },
      ".",
      {
        "attributes": {
          "begin": {
            "attributes": {
              "substring": " "
            },
            "type": "lastIndexOf"
          },
          "beginOffset": 1
        },
        "type": "substring"
      }
    ]
  },
  "type": "concat"
}

 

Tested with your example "Aliaune Damala Bouga Time Bongo Puru Nacka Lu Lu Lu Badara Akon Thiam"
FirstLast is the above transform applied to the Display Name

2022-04-08_22-28-30.png

 

Hi,

I am trying to use double quote(") as a delimiter in a transform to split a string.

I tried using "\"", "\\"" but the escape character is not working.

Can someone please help me on this?

@cooleym Your transform was immensely helpful!!

 

I am trying to get the last last word from the last name field

My transform looks like this:

{
    "attributes": {
      "begin": {
        "attributes": {
            "input": {
                "attributes": {
                    "name": "lastName"
                },
                "type": "identityAttribute"
            },
          "substring": " "
        },
        "type": "lastIndexOf"
      },
      "beginOffset": 1
    },
    "type": "substring"
  }
 
 

The issue with mine is i want the last word of a last name after spaces and special characters. I don't think substring input takes regex expressions. Have you found a way around that? 

Example:
Last name: John Denver-Smith
Output:Smith

Last name: John-Denver Smith
Output: Smith

Version history
Revision #:
4 of 4
Last update:
‎May 01, 2023 09:32 PM
Updated by: