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;
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!
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.