Hi all
I have some values containing text which can be in single or double quote marks. I would like to remove the quote marks plus the text inside
e.g.
have:
VAR1
hello "dog" is my pet
just text
hi 'people' how are you
want:
VAR1
hello is my pet
just text
hi how are you
thanks for your help
One way
data have;
input var1 $ 1 - 25;
datalines;
hello "dog" is my pet
just text
hi 'people' how are you
;
data want;
set have;
var1 = compbl(prxchange('s/".*"//', -1, prxchange("s/'.*'//", -1, var1)));
run;
One way
data have;
input var1 $ 1 - 25;
datalines;
hello "dog" is my pet
just text
hi 'people' how are you
;
data want;
set have;
var1 = compbl(prxchange('s/".*"//', -1, prxchange("s/'.*'//", -1, var1)));
run;
Thanks for helping..it works perfectly
Anytime 🙂
Peter.C
If there were multiple quote characters, your code would get wrong result.
Like this sort of data.
data have;
input var1 $ 1 - 40;
datalines;
hello "dog" is my pet "dog" xxx
just text
hi 'people' how are you 'people'
; data want; set have; var1 =prxchange("s/'.*?'|"".*?""//", -1, var1); run;
data have; input var1 $ 1 - 40; datalines; hello "dog" is my pet "dog" xxx just text hi 'people' how are you 'people' ;
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.