Как заменить символы в строке в SAS (с примерами)


Вы можете использовать функцию tranwrd() для замены символов в строке в SAS.

Вот два наиболее распространенных способа использования этой функции:

Способ 1: заменить символы в строке новыми символами

data new_data;
 set original_data;
 new_variable = tranwrd (old_variable, " OldString", " NewString ");
run ;

Способ 2: заменить символы в строке пробелами

data new_data;
 set original_data;
 new_variable = tranwrd (old_variable, " OldString", "");
run ;

В следующих примерах показано, как использовать каждый метод со следующим набором данных в SAS:

/\*create dataset\*/
data original_data;
 input team $1-20;
 datalines ;
Angry Bees
Angry Hornets
Wild Mustangs
Kind Panthers
Kind Cobras
Wild Cheetahs
Wild Aardvarks
;
run ;

/\*view dataset\*/
proc print data =original_data; 

Пример 1. Замена символов в строке новыми символами

Следующий код показывает, как заменить слово «Wild» в переменной team на слово «Fast»:

/\*replace "Wild" with "Fast" in team variable\*/
data new_data;
 set original_data;
 new_team = tranwrd (team, " Wild", " Fast ");
run ;

/\*view new dataset\*/
proc print data =new_data; 

Обратите внимание, что каждая команда, в названии которой было слово «Дикий», теперь имеет слово «Быстрая».

Любая команда, в названии которой не было слова «Wild», просто сохранила свое первоначальное название.

Пример 2. Замена символов в строке пробелами

В следующем коде показано, как заменить слово «Wild» в переменной команды пробелом:

/\*replace "Wild" with a blank in team variable\*/
data new_data;
 set original_data;
 new_team = tranwrd (team, " Wild", "");
run ;

/\*view new dataset\*/
proc print data =new_data; 

Обратите внимание, что любая команда, в названии которой было слово «Дикий», просто заменяла слово «Дикий» пробелом.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:

Как нормализовать данные в SAS
Как заменить пропущенные значения нулем в SAS
Как удалить дубликаты в SAS