BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
BrahmanandaRao
Lapis Lazuli | Level 10
data aadhar ;
input aadhar $ 28.;
datalines ;
1727-8514-4648
;
run;


data mask;
set aadhar;
new=substr(aadhar,length(aadhar)-1,9)='xxxx';
run;

I want to mask the first 8 numbers 

required output

xxxx-xxxx-4648

 

1 ACCEPTED SOLUTION

Accepted Solutions
Ksharp
Super User
data aadhar ;
input aadhar $ 28.;
datalines ;
1727-8514-4648
;
run;


data mask;
set aadhar;
new=prxchange('s/\d+/xxxx/',2,aadhar);
run;

View solution in original post

4 REPLIES 4
Ksharp
Super User
data aadhar ;
input aadhar $ 28.;
datalines ;
1727-8514-4648
;
run;


data mask;
set aadhar;
new=prxchange('s/\d+/xxxx/',2,aadhar);
run;
BrahmanandaRao
Lapis Lazuli | Level 10

Hi 

Sharp

Thank you for your solution  I am not good at regular expressions 

Ksharp
Super User
Then check documentation and learn it . It is a must-have skill for sas programmer .

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
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
  • 4 replies
  • 938 views
  • 0 likes
  • 3 in conversation