cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
JMP is taking Discovery online, April 16 and 18. Register today and join us for interactive sessions featuring popular presentation topics, networking, and discussions with the experts.
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.