Как использовать функцию 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *