1

我有一个以空格分隔的地址字符串,我试图用第三个参数替换第二个参数。我在下面发布的代码不起作用。请帮我改正。

data sasuser.word_exchange;
set sasuser.testnew3;
retain re1 re2 ;
if _N_ = 1 then do;
re1 = prxparse('s/DR/DRIVE/');
re2= prxparse('s/AVE/AVENUE/');
end;
call prxchange( re1,-1, strip(CITYSTATE));
call prxchange( re2,-1, strip(CITYSTATE));
RUN;
4

1 回答 1

1

您不能在那种情况下使用 STRIP。这是一个使用 /io 的示例(i=不区分大小写,o=编译一次,因此不需要 if n =1 块)。根据您的数据,“i”可能是不可取的。

data have;
input @1 CITYSTATE $200.;
infile datalines truncover;
datalines;
2001 Bellini Ave Michigan City IN 58431
123 Anywhere Dr Boston MA 00123
456 Nowhere Lane New York City NY 10035
;;;;
run;

data want;
set have;
re1 = prxparse('s/DR/DRIVE/io');
re2= prxparse('s/AVE/AVENUE/io');
call prxchange( re1,-1, CITYSTATE);
call prxchange( re2,-1, CITYSTATE);
put CITYSTATE=;
RUN;
于 2012-11-06T20:15:58.553 回答