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;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.