Что касается адресных данных, кто-нибудь будет иметь представление о том, как убрать пробелы вокруг специальных символов в числовом бите этих записей? Для третьей записи, например, я хочу иметь «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;