Как использовать функцию prxchange в sas (с примерами)
Вы можете использовать функцию PRXCHANGE в SAS для замены определенного шаблона в строке.
Эта функция использует следующий базовый синтаксис:
PRXCHANGE(регулярное выражение, время, источник)
Золото:
- регулярное выражение : регулярное выражение, определяющее шаблон для поиска.
- times : количество раз, которое необходимо заменить для поиска и замены шаблона (используйте -1 , чтобы продолжать замену шаблона до тех пор, пока не будет достигнут конец источника )
- source : Имя переменной для поиска.
В следующих примерах показаны два распространенных способа использования этой функции на практике со следующим набором данных в SAS:
/*create dataset*/
data my_data;
input phrase $char40. ;
datalines ;
This is a cool name
That is a cool cool zebra
Oh hey there
Oh cool it's a cool-looking dog
Well now that is COOL
;
run ;
/*view dataset*/
proc print data =my_data;
Пример 1. Используйте PRXCHANGE для замены шаблона в строке новым шаблоном.
Следующий код показывает, как использовать функцию PRXCHANGE для создания нового столбца с именем new_phrase , который заменяет каждое вхождение слова «cool» на «fun» в столбце фразы :
/*create new dataset*/
data new_data;
set my_data;
new_phrase = prxchange ('s/cool/fun/i', -1, phrase);
run ;
/*view new dataset*/
proc print data = new_data;
Обратите внимание, что каждое слово «круто» было заменено на «весело».
Обратите внимание, что мы использовали s в регулярном выражении, чтобы указать, что мы хотим выполнить замену, и мы использовали i , чтобы указать, что оно не должно быть чувствительным к регистру.
Пример 2. Используйте PRXCHANGE для замены шаблона в строке пробелом.
Следующий код показывает, как использовать функцию PRXCHANGE для создания нового столбца с именем new_phrase , который заменяет каждое вхождение слова «cool» пробелом в столбце фразы :
/*create new dataset*/
data new_data;
set my_data;
new_phrase = prxchange ('s/cool//i', -1, phrase);
run ;
/*view new dataset*/
proc print data = new_data;
Обратите внимание, что каждое слово «крутой» заменено пробелом.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:
Как извлечь числа из строки в SAS
Как удалить запятые из строки в SAS
Как разделить строки по разделителю в SAS