Como usar a função find no sas (com exemplos)
Você pode usar a função FIND no SAS para encontrar a posição da primeira ocorrência de uma substring em uma string.
Aqui estão as duas maneiras mais comuns de usar esse recurso:
Método 1: Encontre a posição da primeira ocorrência de uma string
data new_data;
set original_data;
first_occurrence = find (variable_name, " string ");
run;
Método 2: Encontre a posição da primeira ocorrência de uma string (ignorando maiúsculas e minúsculas)
data new_data;
set original_data;
first_occurrence = find (variable_name, " string ", " i ");
run ;
O argumento “i” diz ao SAS para ignorar maiúsculas e minúsculas ao procurar pela substring.
Os exemplos a seguir mostram como usar cada método com o seguinte conjunto de dados no SAS:
/*create dataset*/
data original_data;
input sentence $1-25;
datalines ;
The fox ran fast
That is a quick FOX
This fox is a slow fox
The zebra is cool
;
run ;
/*view dataset*/
proc print data = original_data;
Exemplo 1: Encontre a posição da primeira ocorrência de uma string
O código a seguir mostra como encontrar a posição da primeira ocorrência de “fox” em cada string:
data new_data;
set original_data;
first_fox = find (phrase, " fox ");
run ;
Veja como interpretar o resultado:
- A raposa correu rápido (a primeira ocorrência está na posição 5 )
- É uma FOX rápida (a string minúscula “fox” nunca aparece)
- Esta raposa é uma raposa lenta (a primeira ocorrência está na posição 6 )
- Zebra é legal (o barbante “raposa” nunca aparece)
Exemplo 2: Encontre a posição da primeira ocorrência de uma string (ignorando maiúsculas e minúsculas)
O código a seguir mostra como encontrar a posição da primeira ocorrência de “fox” que não diferencia maiúsculas de minúsculas em cada string:
data new_data;
set original_data;
first_fox = find (phrase, " fox ", " i ");
run ;
Veja como interpretar o resultado:
- A raposa correu rápido (a primeira ocorrência está na posição 5 )
- É um FOX rápido (a primeira ocorrência de “fox” está na posição 17 )
- Esta raposa é uma raposa lenta (a primeira ocorrência está na posição 6 )
- Zebra é legal (o barbante “raposa” nunca aparece)
Recursos adicionais
Os tutoriais a seguir explicam como executar outras tarefas comuns no SAS:
Como normalizar dados no SAS
Como substituir caracteres em uma string no SAS
Como substituir valores ausentes por zero no SAS
Como remover duplicatas no SAS