- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hey,
I was give a bunch of data sets that have been reworked to include a prefix on the variable name. I have a loop written to remove the prefix but the problem I'm encountering is the compress function is removing all characters within the prefix from the var name. I'd like it to remove the specific sequence of the letters and not all the letters. Is it possible to do this?
The prefix in all of these example is "INF_"
Input | Current_Result | Desired_Result |
---|---|---|
INF_FINANCE | ACE | FINANCE |
INF_INFO | O | INFO |
INF_CAST | CAST | CAST |
Not all of the variables in the data set have the prefix, that is why I've attempted to do this using the compress function.
Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Found out how to do this using the TRANWRD function.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Yep, just be careful though as if you have INF_INFO and you do a tranwrd(...,'INF','') then you would end up with _O. If you know the prefix is INF_ first three characters, it could be beneficial to use substr, e.g. if substr(...,1,4)='INF_' then ...=substr(...,4);
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Use the TRANSTRN() function to replace the string INF_ with nothing.
desired_result = transtrn(input,'INF_',trimn(' '));
Of if you know the values are always at the beginning of the string then use SUBSTR.
desired_result = input ;
if desired_result =: 'INF_' then desired_result = substr(desired_result,5) ;