


Currently have strings coming in with two formats. Some strings end with the character “|” and other strings do not. For example, one value might is “ush|park-map|” and another value is “ush|theme-parks”. The goal is to remove the last pipe “|” from the string IF the string ends with a “|”.
In the SAINT Rule Builder, I was able to remove the last pipe “|” from strings that ended with a pipe “|”. However in the final output, the strings that did NOT end in a pipe had “**Unmatched**” as the final value (1st screenshot below). The question is how can you return the original/default value if the string doesn’t meet the rule criteria (aka ending with a “|”)?
We'd greatly appreciate your help, thanks!
David
Views
Replies
Sign in to like this content
Total Likes
The correct regex is (.+)(\|)?$
Notice the ? at the end of (\|) which stand of zero or one of pipe
I'm not very knowledgeable about regex, but I think you can adapt this to work for your use case.
^((.+)\_(.+)\_(.+)\_(.+)\_(.+)\_(.+)|(.+)\_(.+)\_(.+)\_(.+)\_(.+))$
In this case $2$8 mapped to the first field (depending on if there are 4 or 5 underscores. You could shift and shorten this for the pipe.
Views
Replies
Sign in to like this content
Total Likes
Views
Replies
Sign in to like this content
Total Likes
Views
Replies
Sign in to like this content
Total Likes
The correct regex is (.+)(\|)?$
Notice the ? at the end of (\|) which stand of zero or one of pipe
Dear Dabressler,
You just need to stack the conditions properly. Below you go:
And the test results are as below:
I Hope, this is what you are expecting.
Thank You, Arun.
Views
Replies
Sign in to like this content
Total Likes