请教如何进行下列操作:识别是否包含特定字符,如果是,则返回特定字符。
为求清晰说明,我举例如下。
data test;
input var1 $ var2 $;
cards;
aab a
aac b
def c
efg a
bfc c
;
proc print;
run;
得到:
Obs var1 var2
1 aab a
2 aac b
3 def c
4 efg a
5 bfc c
我是用的程序如下:
proc sql;
select distinctvar2 into :chkvar separated by ''
from test;
quit;
data test;
settest;
ifprxmatch("/[&chkvar]/",var1)>0 then match=1;
elsematch=0;
run;
得到:
Obs var1 var2 match
1 aab a 1
2 aac b 1
3 def c 0
4 efg a 0
5 bfc c 1
但这不是我要的结果,我想要的结果应当如下
Obs var1 var2 match
1 aab a a
1 aab a b
2 aac b a
2 aac b c
3 def c 无匹配信息
4 efg a 无匹配信息
5 bfc c b
5 bfc c v
于是我使用了下面的程序,但是这个程序无法运行。请教大神如何操作才可以实现我想要的结果。
data test;
settest;
ifprxmatch("/[&chkvar]/",var1)>0 then match="/[&chkvar]/";
elsematch="无匹配信息";
run;