BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
serrld113
Obsidian | Level 7

 

Hello,

 

I need to find the ID where the first 3 characters of the field are between (‘A’) and (‘Z’)...So if I have this list:

 

5021060
A310603
D1A5421
5022000
5001050
5002000
5010020
5010045
5010045
50A5421
5012060
5013100

then the SAS program would output only these:

 

A310603

D1A5421

50A5421

 

Thank you!

1 ACCEPTED SOLUTION

Accepted Solutions
kiranv_
Rhodochrosite | Level 12

something like this

data have;
input string $;
datalines;
5021060
A310603
D1A5421
5022000
5001050
5002000
5010020
5010045
5010045
50A5421
5012060
5013100
501310D
;

data want;
set have;
if anyalpha(substr(string,1,3)) gt 0;
run;

View solution in original post

2 REPLIES 2
kiranv_
Rhodochrosite | Level 12

something like this

data have;
input string $;
datalines;
5021060
A310603
D1A5421
5022000
5001050
5002000
5010020
5010045
5010045
50A5421
5012060
5013100
501310D
;

data want;
set have;
if anyalpha(substr(string,1,3)) gt 0;
run;
RW9
Diamond | Level 26 RW9
Diamond | Level 26

Post test data in the form of a datastep!

Something like (and not tested as not typing all that in):

data want;
  set have;
  if lengthn(compress(substr(yourvar,1,3),"","ka")) > 0 then output;
run;

So take the first 3 chars, compress down to only a-z and if length > 0 at least one is present

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 793 views
  • 0 likes
  • 3 in conversation