How can I remove the last word in a string?
Good question. This was answered on StackOverflow as well as in this code example.
Essentially, you can pass -1 in to CALL SCAN to get the last word, and once you've found it, it's trivial to remove.
Good question. This was answered on StackOverflow as well as in this code example.
Essentially, you can pass -1 in to CALL SCAN to get the last word, and once you've found it, it's trivial to remove.
Thanks! Any advice on how to remove the second word from a string? I'm trying to check between two variables that excluding the 2nd word both strings are identical.
Try the same steps, but using CALL SCAN with a count of 2.
That only keeps the first and 2nd word, but I want the entire string minus the 2nd word.
Oh, I see. Well in the StackOverflow post,
substr(starting_word,1,pos-2);
is used to return a string that includes all but the last word.
You'll probably need this:
call scan(original_string, 2, pos, length);
to get the length and position of the second word, then
first_piece = substr(original_string, 1, pos-1)
(maybe pos-2 to remove the space between the words)
and
second_piece = substr(original_string, pos+length, lengthOfString)
(you'll have to calculate lengthOfString using the LENGTH function)
Then use a CAT function (see here for a good description of the different choices) to combine first_piece and second_piece.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.