본문 바로가기
SAS/SAS 함수

【SAS 함수】 17. ANYXDIGIT 함수

by 기서무나구물 2018. 11. 15.

포스팅 목차

     17. ANYXDIGIT

     


    ANYXDIGIT 함수는 문자열을 검색하여 숫자를 재표현한 16진수 문자(1~10, a~f)를 검색하여서 해당 문자가 검색된 첫 번째 위치를 반환한다.

    Category: 문자함수 (문자열처리함수)

     

    MAIN

    문 법


    ANYXDIGIT
     (string <,start>)

     

    Arguments

    string

     

         는 검색하기 위한 문자 상수, 변수, 문자표현을 지정.

     

    start

     

         는 검색 시작 위치와 검색 방향을 지정 지정.

     


    참 고

    - 문자를 발견하지 못하면, 0을 반환한다.
    - 만약 start값이 양이면, 오른쪽으로 검색한다.
    - 만약 start값이 음이면, 왼쪽으로 검색한다.
    - 만약 start값이 문자열의 length보다 큰 음수값이라면, 문자열의 끝에서 왼쪽으로 검색한다.
    - 문자를 발견 못했거나, start값이 문자열의 길이보다 더 큰 경우에는 0값을 반환한다.

     


    관련 함수

    함수명 함수내용
    ANYALNUM 영어와 숫자가 있는 문자에 대한 문자열을 검색하여, 영어와 숫자 문자의 첫 번째 위치를 반환한다.
    ANYALPHA 알파벳 문자에대한 문자열을 검색하여, 알파벳 문자열이 존재하는 첫번째 위치를 반환한다.
    ANYCNTRL 문자열을 검색하여 제어문자(control -특수)의 첫번째 위치를 반환한다.
    ANYDIGIT 문자열을 검색하여 숫자(DIGIT)의 첫번째 위치를 반환한다.
    ANYFIRST 문자열을 검색하여서 validvarname=v7하에서 SAS변수 이름에서 첫 번째 위치에 적합한 문자의 첫번째 위치를 반환한다.
    ANYGRAPH 문자열을 검색하여 그래픽 문자의 첫번째 위치를 반환한다.
    ANYLOWER 문자열을 검색하여 소문자의 첫번째 위치를 반환한다.
    ANYNAME 문자열을 검색하여서 validvarname=v7하에서 SAS변수 이름으로 유효한 문자의 첫번째 위치를 반환한다.
    ANYPRINT 문자열을 검색하여 인쇄가능한 문자의 첫번째 위치를 반환한다.
    ANYPUNCT 문자열을 검색하여 구두 문자의 첫번째 위치를 반환한다.
    ANYSPACE 문자열을 검색하여 공란 문자(Blank,가로탭,세로탭,Carriage Return,line feed,form feed등)의 첫번째 위치를 반환한다.
    ANYUPPER 문자열을 검색하여 대문자의 첫번째 위치를 반환한다.
    ANYXDIGIT 문자열을 검색하여 숫자를 재표현한 16진수 문자(1~10, a~f)의 첫번째 위치를 반환한다.
    NOTALNUM non-alphanumeric 문자(문자와 숫자를 제외)에 대한 문자열을 검색하여, 첫번째 위치를 반환한다.
    NOTALPHA non-alphabetic 문자(대소문 문자를 제외)에 대한 문자열을 검색하여, 첫번째 위치를 반환한다.
    NOTCNTRL 문자열을 검색하여 제어문자가 아닌 문자의 첫번째 위치를 반환한다.
    NOTDIGIT 문자열을 검색하여 digit가 아닌 첫번째 위치를 반환한다.
    NOTFIRST validvarname=v7하에서 변수 이름의 첫번째 위치에 올 수 없는 문자를 검색하여서 첫 번째 위치를 반환한다.
    NOTGRAPH non-graphical문자를 찾아서 첫 번째 위치를 반환한다.
    NOTLOWER 문자열을 검색하여 소문자가 아닌 문자의 첫번째 위치를 반환한다.
    NOTNAME validvarname=v7하에서 SAS변수이름에 올 수 없는 문자의 첫번째 위치를 반환한다.
    NOTPRINT non-printable 문자를 검색하여 첫번째 위치를 반환한다.
    NOTPUNCT 구두문자가 아닌 문자를 검색하여 첫번째 위치를 반환한다.
    NOTSPACE white-space(blank,가로탭,세로탭,캐리지 리턴, 라인 feed,form feed)가 아닌 문자를 검색하여 첫번째 위치를 반환한다.
    NOTUPPER 대문자가 아닌 문자의 첫번째 위치를 반환한다.
    NOTXDIGIT 16진수가 아닌 문자의 첫번째 위치를 반환한다.

     


    예 제

     

    ANYXDIGIT 함수는 String 변수에서 16진수 문자의 위치를 검색한 후에, subst 함수와 반복문을 사용하여 16진수 문자의 개별 위치를 출력한다. 

    SAS Statements
    DATA ANYXDIGIT; 
         STRING = 'NEXT = _N_ + 12E3;ABCDEFGH N N'; 
         J = 0;
    
         DO UNTIL(J=0); 
            J = ANYXDIGIT(STRING,J+1); 
            IF J=0 THEN PUT +3 "THAT'S ALL";
            ELSE DO; 
               C = SUBSTR(STRING,J,1); 
               PUT +3 J= C=; 
            END; 
         END;
    RUN;

     

    Results
    j= 2 c=e
    j=14 c=1
    j=15 c=2
    j=16 c=E
    j=17 c=3
    j=19 c=A
    j=20 c=b
    j=21 c=c
    j=22 c=d
    j=23 c=e
    j=24 c=f
    That's all

     


    SAS 함수(SAS Function) 리스트 링크

     

    엑셀(EXCEL)과 SAS 함수(SAS Function) 비교 리스트 링크

     

    SAS 데이터 스텝 구문 리스트(SAS Data Step Statement)


    http://cafe.daum.net/statsas )

    반응형

    'SAS > SAS 함수' 카테고리의 다른 글

    【SAS 함수】 19. ARSIN 함수  (0) 2018.11.15
    【SAS 함수】 18. ARCOS 함수  (0) 2018.11.15
    【SAS 함수】 16. ANYUPPER 함수  (0) 2018.11.15
    【SAS 함수】 15. ANYSPACE 함수  (0) 2018.11.15
    【SAS 함수】 14. ANYPUNCT 함수  (0) 2018.11.15

    댓글