SAS FUNCTION
SAS 9.1.3
Go to Documentation Home
HOME
Go to Book List
FUN_home
Go to Table of Contents
연구회
Go to Index
자료실
Go to Master Index
SAS  9.1.3
Go to Feedback page
MAIL
FINDC
Go to previous page
Previous
Go to next page
Next
처음메뉴로

165. FINDC



지정한 문자열 안에 지정 문자의 존재성에 대한 결과 반환한다.
Category: 문 자

문 법
인 수
참 고
예 제
함 수 비 교

문법

MAIN

FINDC(string,characters<,modifiers><,startpos>)
FINDC
(string,characters<,startpos><,modifiers>)

Arguments

string
는 문자 상수, 변수 표현.

modifiers(참조자)
변경자 설명
i 조회시 대소문 무시
o 처음 수행시 지정된 옵션이 고정되어서 다음 수행에서도 지정.
t 문자열의 뒷부분 공백 제거
v 문자열에서 지정한 문자가 아닌 문자 검색

참고
 
변경자 설명
0보다 큰 경우 지정한 시작 위치에서 오른쪽으로 검색을 한다.
0 0의 값을 반환
0 보다 작은 경우 지정한 위치에서 왼쪽 방향으로 검색을 한다.


예제

MAIN

예 제 1 :

문자에서 h,i,Blank의 위치를 반환한다.

SAS Statements Results
data _null_;
     whereishi=0;
     do until(whereishi=0);
        whereishi=findc('Hi there, Ian!','hi ',whereishi+1);
        if whereishi=0 then put "The End";
        else do;
           whatfound=substr('Hi there, Ian!',whereishi,1);
           put whereishi= whatfound=;
        end;
     end;
run;

 

whereishi=2 whatfound=i
whereishi=3 whatfound=
whereishi=5 whatfound=h
whereishi=10 whatfound=
The End

 

예 제 2 :

I지정으로 대문자 구별 없이 h,i,H,I의 위치를 찾는다.

SAS Statements Results
data _null_;
     whereishi_i=0;
     do until(whereishi_i=0);
        variable1='Hi there, Ian!';
        variable2='hi';
        variable3='i';
        whereishi_i=findc(variable1,variable2,variable3,whereishi_i+1);
        if whereishi_i=0 then put "The End";
        else do;
           whatfound=substr(variable1,whereishi_i,1);
           put whereishi_i= whatfound=;
        end;
     end;
run;

 

whereishi_i=1 whatfound=H
whereishi_i=2 whatfound=i
whereishi_i=5 whatfound=h
whereishi_i=11 whatfound=I
The End

 

예 제 3 :

t옵션에 의해 문자열 인수와 문자 인수의 tailing blank를 제거한후 h와 i를 검색한다.

SAS Statements Results
data back;
     whereishi_t=0;
     do until(whereishi_t=0);
        expression1='Hi there, '||'Ian!';
        put expression1=;
        * hi반환후 공백 결합 즉 'hi '이 반환;
        expression2=kscan('bye or hi',3)||' ';
        put expression2=;
        expression3=trim('t ');
        whereishi_t=findc(expression1,expression2,expression3,whereishi_t+1);
        if whereishi_t=0 then put "The End";
        else do;
           whatfound=substr(expression1,whereishi_t,1);
           put whereishi_t= whatfound=;
        end;
     end;
run;

 

whereishi_i=1  whatfound=H
whereishi_i=2  whatfound=i
whereishi_i=5  whatfound=h
whereishi_i=11 whatfound=I
The End

 

예 제 4 :

대문자를 고려하지 않고 h,i,H,I를 제외한 모든 문자 출력한다.

SAS Statements Results
data _null_;
     whereishi_iv=0;
     do until(whereishi_iv=0);
        xyz='Hi there, Ian!';
        whereishi_iv=findc(xyz,'hi',whereishi_iv+1,'iv');
        if whereishi_iv=0 then put "The End";
        else do;
           whatfound=substr(xyz,whereishi_iv,1);
           put whereishi_iv= whatfound=;
        end;
     end;
run;

whereishi_iv=3  whatfound=
whereishi_iv=4  whatfound=t
whereishi_iv=6  whatfound=e
whereishi_iv=7  whatfound=r
whereishi_iv=8  whatfound=e
whereishi_iv=9  whatfound=,
whereishi_iv=10 whatfound=
whereishi_iv=12 whatfound=a
whereishi_iv=13 whatfound=n
whereishi_iv=14 whatfound=!
The End


함수비교

Functions:

108.COUNTC

  164.FIND
  205.INDEXC
  433.VERIFY

2006년 백승민 제작하였답니다. 
( http://cafe.daum.net/statsas )