Sas: find와 index의 차이점


SAS에서 FINDINDEX 함수를 사용하여 문자열 내에 나타나는 하위 문자열의 첫 번째 문자 위치를 반환할 수 있습니다.

이러한 함수 간의 차이점은 FIND 함수를 사용하면 INDEX 함수가 수행할 수 없는 두 가지 작업을 수행할 수 있다는 것입니다.

  • FIND를 사용 하면 대소문자를 구분하지 않고 검색할 수 있습니다.
  • FIND를 사용하면 검색 시작 위치를 지정할 수 있습니다.

다음 예에서는 문장 열이 포함된 SAS의 다음 데이터 세트를 사용하여 실제로 FINDINDEX 함수 간의 차이점을 보여줍니다 .

 /*create dataset*/
data original_data;
    input sentence $40. ;
    datalines ;
A pig is my favorite animal
My name is piglet
Pigs are so cute
Here is a baby pig
His name is piggy
;
run ;

/*view dataset*/
proc print data = original_data; 

예 1: 차이점 없이 FIND 및 INDEX 사용

다음 코드는 FINDINDEX 함수를 사용하여 표현식 열에서 하위 문자열 “pig”가 처음 나타나는 위치를 찾는 방법을 보여줍니다.

 /*find position of first occurrence of 'pig' in phrase column*/
data new_data;
    set original_data;
    find_pig = find (phrase, 'pig');
    index_pig = index (phrase, 'pig');
run ;

/*view results*/
proc print data = new_data;

FINDINDEX 함수는 정확히 동일한 결과를 반환합니다.

find_pigindex_pig 구문 열에서 하위 문자열 “pig”가 처음 나타나는 위치를 표시합니다.

예 2: 대소문자를 구분하지 않는 검색에 FIND 및 INDEX 사용

다음 코드는 FINDINDEX 함수를 사용하여 표현식 열에서 “PIG”라는 단어가 처음 나타나는 위치를 찾는 방법을 보여줍니다.

 /*find position of first occurrence of 'PIG' in phrase column*/
data new_data;
    set original_data;
    find_pig = find (phrase, 'PIG', 'i');
    index_pig = index (phrase, 'PIG');
run ;

/*view results*/
proc print data =new_data;

FIND 함수에서 “i” 수정자를 사용하여 구문 열의 “PIG” 하위 문자열에 대해 대소문자를 구분하지 않고 검색을 수행할 수 있었습니다.

그러나 INDEX 함수는 대소문자를 구분하지 않는 검색을 수행할 수 없으므로 대문자 하위 문자열 “PIG”가 어떤 문장에도 존재하지 않기 때문에 단순히 각 행에 대해 0을 반환했습니다.

예 3: 특정 시작 위치에 FIND 및 INDEX 사용

다음 코드 INDEX 함수가 특정 시작 위치를 전혀 사용할 수 없는 동안 FIND 함수를 사용하여 위치 5에서 시작하는 구문 열에서 하위 문자열 “pig”를 찾는 방법을 보여줍니다.

 /*find position of first occurrence of 'pig' in phrase column starting at position 5*/
data new_data;
    set original_data;
    find_pig = find (phrase, 'pig', 5 );
    index_pig = index (phrase, 'pig');
run ;

/*view results*/
proc print data = new_data;

find_pig 함수는 구문 열의 위치 5부터 시작하여 하위 문자열 ‘pig’를 검색합니다.

index_pig 함수는 검색 시작 위치를 지정할 수 없기 때문에 구문 열의 어느 곳에서나 “pig” 하위 문자열을 검색합니다.

추가 리소스

다음 튜토리얼에서는 SAS의 다른 일반적인 기능을 사용하는 방법을 설명합니다.

SAS에서 SUBSTR 함수를 사용하는 방법
SAS에서 COMPRESS 함수를 사용하는 방법
SAS에서 COALESCE 함수를 사용하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다