Hi I have a variable with different record lengths. I am trying to find out if i can read from the end of the string. Also, If any of the "want" is alphanumeric, then DELETE. I want only US based Zip, not canadian postal code
Have | Want |
---|---|
WARREN MI 48091-3241 | 48091 |
BLOOMFIELD MI 48304-2916 | 48304 |
SAINT CLAIR SHORES MI 48082-1158 | 48082 |
HUNTINGTON WOODS MI 48070 | 48070 |
MACOMB MI 48042-2398 | 48042 |
HUNTINGTN WDS , MI 480700000 | 48070 |
You can try INDEX() function to find the location of the first instance of a numeric character preceded by a blank (including the blank will prevent you from reading Canadian postal codes that begin with a letter) in your string and then nest it in SUBSTRN() function to read 5 characters to the right of the first number. Finally, sounds like you'll want to nest both of the first two in the INPUT() function to output a number rather than a character string.
data test;
infile cards truncover;
input str $100.;
num=prxchange('s/(^\D+)(\b\d{5})(.+)/$2/io',-1, str);
cards;
WARREN MI 48091-3241
BLOOMFIELD MI 48304-2916
SAINT CLAIR SHORES MI 48082-1158
HUNTINGTON WOODS MI 48070
MACOMB MI 48042-2398
HUNTINGTN WDS , MI 480700000
;
data test; infile cards truncover; input str $100.; length num $ 5; num=scan(str,-1,' '); cards; WARREN MI 48091-3241 BLOOMFIELD MI 48304-2916 SAINT CLAIR SHORES MI 48082-1158 HUNTINGTON WOODS MI 48070 MACOMB MI 48042-2398 HUNTINGTN WDS , MI 480700000 ; run;
Xia Keshan
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 the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.