Hi All,
I need your help, I would like to know how to extract the position value after the second word (i.e., Kamireddy Jagan Reddy). I want the position number for (i.e.,reddy).
data ds1;
input name:&$35.;
cards;
Kamireddy jagan reddy
Adithya Desh Pandey
Ankit Patel Rathod
;run;
Hi @saitejaguduru97 and welcome to the SAS Support Communities!
You can use the CALL SCAN routine to obtain the position and length of the nth word of a string.
Example:
data want;
set ds1;
call scan(name,3,pos,len);
run;
Variable POS will contain the position of the first character of the third word in NAME (using default delimiters as word boundaries) and variable LEN the length of this word. (Both are set to zero if there is no third word.)
So if you need the position of the last character of the second word, you can calculate it like this:
data want;
set ds1;
call scan(name,2,pos,len);
word2end=pos+len-1;
run;
Thank you So much for your reply....
I have one more doubt regarding the same. Please find the below example:-
See the first variable has separated by 4 spaces and after that separated with 3 spaces only in which i need 4th position and 3rd position numbers. Can i get?
data ds1;
input name$35.;
datalines;
kamireddy jagan mohan reddy
nara chandrababu naidu
konidela pawan kalyan
;run;
data want;
set ds1;
num_words=countw(name);
call scan(name,num_words,pos,len);
run;
Thank you Miller i got the result.
Can i get the 1 and 2 position values with the provided coded?
This was already explained by @FreelanceReinh
@saitejaguduru97 wrote:
Thank you So much for your reply....
(...)
See the first variable has separated by 4 spaces and after that separated with 3 spaces only in which i need 4th position and 3rd position numbers. Can i get?
(...)
datalines;
kamireddy jagan mohan reddy
nara chandrababu naidu
You're welcome.
For the last word of a string you can use -1 as the second argument of the CALL SCAN routine (see count argument in the documentation).
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
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.
Ready to level-up your skills? Choose your own adventure.