1

スペースで区切られたアドレス文字列があり、2番目の引数を3番目の引数に置き換えようとしています。以下に投稿したコードは機能しません。訂正を手伝ってください。

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=1 回コンパイルするため、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 に答える