SAS удалить специальные символы из строки - PullRequest
0 голосов
/ 07 октября 2019

Добрый день, у меня есть набор данных со списком имен и фамилий. Некоторые из этих имен по какой-либо причине содержат специальные символы, которые необходимо удалить. Поле имеет формат символов, и я попытался использовать следующее, чтобы сохранить только разрешенные символы и удалить все остальные. Однако мои результаты возвращаются с пустыми значениями для всех имен.

Что я здесь не так делаю?

Data want; 
set have;
'Last Name'n=compress(last_name,"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'- ","k");
'First Name'n=compress(first_name,"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'- ","k");
drop last_name first_name;
run;

1 Ответ

1 голос
/ 07 октября 2019

РЕДАКТИРОВАНИЕ с примером набора данных

 Data have;
    INPUT last_name $ 1-14  first_name $;
    datalines;
    thomas*   James 
    Kory-Elk  Nick
    ^Shaffner Fun
    ;
 Run;

 Data want; 
   set have;
     Last_Name_New=compress(last_name,"abcdefghijklmnopqrstuvwxyz-","kis");
     First_Name_New=compress(first_name,"abcdefghijklmnopqrstuvwxyz-","kis");
    drop last_name first_name;
 run;
 /* 'k' keeps the characters in the list instead of removing them.
    'i'  ignores the case of the characters to be kept or removed.
    's' adds space characters (blank, horizontal tab, vertical tab, carriage return, line feed, and form feed) to the list of characters.*/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...