Добавьте пробел к классу символов .Я поставил пробел после Z
, хотя он также мог бы идти до A
UPCASE(prxchange("s/[^A-Z ]//i",-1,variable));
Краткое резюме по регулярным выражениям в SAS можно найти в Советы по регулярным выражениям Perl
Спецификатор класса отрицанных символов [^]
перечисляет символы, которые нужно сохранить (или не сопоставить) во время операции подстановки.
[^A-Z]
означает, что не совпадают все, что не находится между буквами A
- Z
, что не включает символ пробела, поэтому пробелы удаляются.
выражение, которое вы написали для подстановки: удалить любую последовательность, которая не соответствует букве