对于地址数据,有人知道如何去除这些记录的数字位中特殊字符周围的空格吗?例如,对于第三条记录,我想要“44/95”而不是“44 / 95”。我想对所有“/”、“-”、“|”执行此操作的特殊字符 和 ”,”。我猜使用正则表达式是最好的方法,但我想不出该怎么做。
data addresses1;
infile datalines ;
input @1 address $35. ;
format address $50.;
datalines;
26 32-50 CENTRE DANDENONG ROAD
9 /93-95 DANDENONG ROAD EAST
44 / 95 OUTER CRESCENT
17| 21-25 PARKHILL DRIVE
run;
我试过类似下面的代码,但没有奏效。有人可以指出我正确的方向吗?
data addresses2;
set addresses1;
format fixed_address fixed_address2 $255.;
address=strip(address);
fixed_address2=compbl(strip(prxchange("s/(?<=[\|.\(\)\{\}\-\:\s\*\;\.\#\&\_\/\\]) +(?=\[\|.\(\)\{\}\-\:\s\*\;\.\#\&\_\/\\])/$1/",-1,strip(fixed_address))));
run;