Как использовать функцию compress в sas (с примерами)
Вы можете использовать функцию COMPRESS в SAS для удаления определенных символов из строки.
Эта функция использует следующий базовый синтаксис:
COMPRESS(строка, символы для удаления)
Золото:
- String : строка для анализа.
- символы для удаления : один или несколько определенных символов, которые нужно удалить из строки.
Вот четыре наиболее распространенных способа использования этой функции:
Способ 1. Удалите из строки все пробелы.
data new_data;
set original_data;
compressed_string = compress (string_variable);
run ;
Способ 2: удалить определенные символы из строки
data new_data;
set original_data;
compressed_string = compress (string_variable, ' !?@# ');
run ;
Способ 3: удалить все буквенные символы из строки
data new_data;
set original_data;
compressed_string = compress (string_variable, '', ' a ');
run ;
Способ 4: удалить все числовые значения из строки
data new_data;
set original_data;
compressed_string = compress (string_variable, '', ' d ');
run ;
В следующих примерах показано, как использовать каждый метод со следующим набором данных в SAS:
/*create dataset*/
data original_data;
input name $25.;
datalines ;
Andy Lincoln4 Bernard!
Barren Michael55 Smith!
Chad Simpson7 Arnolds?
Derrick Parson2 Henry
Eric Miller2 Johansen!
Frank Giovanni5 Goode
;
run ;
/*view dataset*/
proc print data = original_data;
Пример 1. Удаление всех пробелов из строки
Следующий код показывает, как удалить все пробелы из каждой строки в столбце имени :
/*remove blank spaces from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name);
run ;
/*view results*/
proc print data =new_data;
Обратите внимание, что все пробелы были удалены из каждой строки в новом столбце с именем table_name .
Пример 2. Удаление определенных символов из строки
Следующий код показывает, как удалить все вопросительные и восклицательные знаки из каждой строки в столбце имени :
/*remove question marks and exclamation points from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name, ' ?! ');
run ;
/*view results*/
proc print data =new_data;
Обратите внимание, что все вопросительные и восклицательные знаки были удалены из каждой строки в новом столбце с именем table_name .
Пример 3. Удаление всех буквенных символов из строки
Следующий код показывает, как удалить все буквенные символы из каждой строки в столбце имени :
/*remove all alphabetical characters from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name, '', ' a ');
run ;
/*view results*/
proc print data = new_data;
Обратите внимание, что все буквенные символы были удалены из каждой строки в новом столбце table_name .
Пример 4: Удаление всех числовых значений из строки
Следующий код показывает, как удалить все числовые значения из каждой строки в столбце имени :
/*remove all numeric values from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name, '', ' d ');
run ;
/*view results*/
proc print data =new_data;
Обратите внимание, что все числовые значения были удалены из каждой строки в новом столбце с именем table_name .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:
Как использовать функцию SUBSTR в SAS
Как использовать функцию НАЙТИ в SAS
Как использовать функцию COALESCE в SAS