Como usar a função prxchange no sas (com exemplos)


Você pode usar a função PRXCHANGE no SAS para substituir um padrão específico em uma string.

Esta função usa a seguinte sintaxe básica:

PRXCHANGE(expressão regular, tempos, fonte)

Ouro:

  • expressão regular : expressão regular que especifica o padrão a ser pesquisado
  • times : O número de vezes a substituir para encontrar e substituir o padrão (use -1 para continuar substituindo o padrão até que o final da fonte seja alcançado)
  • fonte : Nome da variável a ser pesquisada

Os exemplos a seguir mostram duas maneiras comuns de usar esta função na prática com o seguinte conjunto de dados no 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; 

Exemplo 1: Use PRXCHANGE para substituir o padrão na string por um novo padrão

O código a seguir mostra como usar a função PRXCHANGE para criar uma nova coluna chamada new_phrase que substitui cada ocorrência de “cool” por “fun” na coluna de frase :

 /*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; 

Observe que todas as ocorrências de “legal” foram substituídas por “diversão”.

Observe que usamos s na expressão regular para especificar que queríamos realizar uma substituição e usamos i para especificar que não deveria diferenciar maiúsculas de minúsculas.

Exemplo 2: Use PRXCHANGE para substituir o padrão na string por espaço em branco

O código a seguir mostra como usar a função PRXCHANGE para criar uma nova coluna chamada new_phrase que substitui cada ocorrência de “cool” por um espaço na coluna de frase :

 /*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; 

Observe que cada ocorrência de “legal” foi substituída por um espaço.

Recursos adicionais

Os tutoriais a seguir explicam como executar outras tarefas comuns no SAS:

Como extrair números de uma string no SAS
Como remover vírgulas de uma string no SAS
Como dividir strings por delimitador no SAS

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *