🔒 This topic is solved and locked.
Need further help from the community? Please
sign in and ask a new question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Posted 10-18-2019 12:47 AM
(3831 views)
how to get the last two words using scan function in SAS?
if i have visit as
Visit 2 Week 4
Visit 12 Week 42
visit 1 day 1
visit 16 week 52
i want the ouptut as
Week 4
Week 42
Week 52
Thanks in advance
1 ACCEPTED SOLUTION
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
With Scan Function:
data have;
input string $ 1-20;
datalines;
Visit 2 Week 4
Visit 12 Week 42
visit 1 day 1
visit 16 week 52
;
data want;
set have;
lasttwo=cat(scan(string, -1), ' ', scan(string, -2));
run;
Result:
string lasttwo Visit 2 Week 4 Week 4 Visit 12 Week 42 Week 42 visit 1 day 1 day 1 visit 16 week 52 week 52
2 REPLIES 2
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
With Scan Function:
data have;
input string $ 1-20;
datalines;
Visit 2 Week 4
Visit 12 Week 42
visit 1 day 1
visit 16 week 52
;
data want;
set have;
lasttwo=cat(scan(string, -1), ' ', scan(string, -2));
run;
Result:
string lasttwo Visit 2 Week 4 Week 4 Visit 12 Week 42 Week 42 visit 1 day 1 day 1 visit 16 week 52 week 52
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
@Aayushi_17 wrote:
how to get the last two words using scan function in SAS?
if i have visit as
Visit 2 Week 4
Visit 12 Week 42
visit 1 day 1
visit 16 week 52
i want the ouptut as
Week 4
Week 42
????
Week 52
Thanks in advance
So you want output only if the value contains the word week? Or why is the fourth line empty?