cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Check out the JMP® Marketplace featured Capability Explorer add-in
Choose Language Hide Translation Bar
Assaf1
Level III

String parsing formula

Hello,

How can I define formula to import the right srting after the last "_"?

For example:

Column1Formula
CONTINUITY_P_TXP_POS_400UA_TI1310PTI1310P
CONTINUITY_DIG_NEG_2MA_CCLK CCLK

 

Thaks in advance!

Assaf

 

1 ACCEPTED SOLUTION

Accepted Solutions
pmroz
Super User

Re: String parsing formula

Words will get you there.  This formula will do the trick:

c = Words(:Column 1, "_"); 
d = c[N Items(c)];

View solution in original post

5 REPLIES 5
uday_guntupalli
Level VIII

Re: String parsing formula

@Assaf1
         Do you need the formula to be in a table ? I can offer the following solution that works : 

dt = Current Data Table(); // Ensure your data table is open and it is current 

Vals = :Column 1 << Get Values;  // Get Values out 

Res = List(); // Define empty list 


for(i = 1 , i <= N Items(Vals), i++,
	 Test = Words(Vals[i],"_"); // Words is the function that will split your string by delimiter 
	 
	 Insert Into(Res,Test[N Items(Test)]);

   );

Show(Res); 

Alternatively, 

     You could use a similar approach to parse out the strings separated by the delimiter in a column formula as well, by using the following as a column formula: 

Words(:Column 1, "_")


     But then, I can't really think of a way to get the last string out in the column formula. Hope this helps some. Maybe look at "Substr" function - it might help 

Best
Uday
pmroz
Super User

Re: String parsing formula

Words will get you there.  This formula will do the trick:

c = Words(:Column 1, "_"); 
d = c[N Items(c)];
Assaf1
Level III

Re: String parsing formula

Thanks a lot for your suport

It's work!

Re: String parsing formula

Similarly, you could use the Word function to get the last "word" using an index of -1 (i.e. count backwards from the end). This just saves you from needing any JSL variables/lists.

Word( -1, :Column 1, "_"); 
Justin
pmroz
Super User

Re: String parsing formula

JSL continues to surprise me!  Great solution Justin.