Hi,
So I need to extract the strings after a certain number of numerics. Although the problem is that the number of numerics is inconsistent. How do I get the string after the numbers?
For example, my data is the following:
1234567aaa@mail.com
12345bbb@mail.com
123456789ccc@mail.com
And I want my output to be:
aaa@mail.com
bbb@mail.com
ccc@mail.com
Is this possible in SAS?
Thank you!
Also, the string could be like these:
12345ddd23@mail.com
I want to be able to collect all of the characters after the numeric so the desired output would be:
ddd23@mail.com
Thank you!
This is a quick sample.
data have;
input email:$30.;
datalines;
1234567aaa@mail.com
12345bbb@mail.com
123456789ccc@mail.com
12345ddd23@mail.com
;
run;
data want;
set have;
email_out=prxchange("s/(\d+)(\w+@\w+.\w+)/$2/i",-1,email);
run;
Yes it does on my SAS Studio.
You're welcome to try.
Another solution without using a regular expression:
data want;
set have;
email_sub = substr(email, notdigit(email));
run;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
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.