Hello
What is the way to remove all special characters
The current value is /a/s/vvv122!!@#jfjfjf2222/-
and desired value is asvvv122jfjfjf2222
data aaa;
x='/a/s/vvv122!!@#jfjfjf2222/-';
w1=compress(x, '/');/*remove / */
w2=compress(x,'','kd');/*Keeps only digits*/
w3=compress(x,"","ka");/*Keep only alphanumeric characters*/
w4=compress(x, ' ', 'A');/*Keeps only digits and special characters*/
Run;
Seems like this is what you want?
data _null_;
x='/a/s/vvv122!!@#jfjfjf2222/-';
y=compress(x,'','kad');
put y;
run;
Seems like this is what you want?
data _null_;
x='/a/s/vvv122!!@#jfjfjf2222/-';
y=compress(x,'','kad');
put y;
run;
i've read ur code and then i have a doubt what if we only keep special char thanks in advance
w5=compress(x,"abcdefghijklmnopqrstuvwxyz1234567890","k");/*Keeps only digits and characters*/
If you are sure about the variable listed only character and numeric then use the given code.
Alternatively
data _null_;
x='/a/s/vvv122!!@#jfjfjf2222/-';
y=prxchange('s/\W//', -1, x);
put y;
run;
Alternatively with perl regular expression to perform the below 4 actions
data aaa;
x='/a/s/vvv122!!@#jfjfjf2222/-';
w1=prxchange('s#/##',-1,x); /*remove / */
w2=prxchange('s#\D*##',-1,x);/*Keeps only digits*/
w3=prxchange('s#(\W)##i',-1,x);/*Keeps only digits*/
w4=prxchange('s#[[:alpha:]]##i',-1,x);/*Keeps only digits and special characters*/
Run;
Hi Jagadeesh
Your regular expressions solutions are very impressive please give any videos on regx
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 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.