포스팅 목차
CALL PRXSUBSTR
패턴이 일치하는 문자열의 위치와 length를 반환한다.
Category: | 문자열 비교 함수(문자열 매칭, Character String Matching) |
MAIN |
문 법
CALL PRXSUBSTR (regular-expression-id, capture-buffer, start <, length>); |
Arguments
- regular-expression-id
- 는 PRXPARSE함수에 의해 반환되는 인식자를 지정.
참 고
단, 메모리에 직접 쓰는 것은 상당히 조심할 필요있습니다.
SAS regular 형식 은 RX로 시작하고, Perl regular형식은 PRX로 시작한다.
좀 더 상세한 사항을 알고 싶으신 분은 PERL언어에 관하여 찾아보시기를 바랍니다.
* PERL : 자료를 추출하고 그에 의거한 보고서를 작성하는데 사용하는 프로그래밍언어 가운데 하나이다.
관련 함수
함수명 | 함수내용 |
CALL PRXCHANGE | 지정한 패턴과 일치하는 문자열을 검색하여 검색된 부분을 변경하기 원하는 대체 문자열로 변경 작업을 수행한다. |
CALL PRXDEBUG | PERL 정규식이 컴파일 되는 과정과 패턴이 문자값과 일치 될 때 반환되는 값에 대한 정보를 제공한다. |
CALL PRXFREE | 메모리에 할당된 Perl regular 표현식을 초기화 한다. 일반적으로 데이터 스텝이 종료되면 리소스가 초기화 된다. |
CALL PRXNEXT | 문자열에서 지정한 패턴과 일치하는 패턴 검색 작업을 반복적으로 수행하여서 패턴과 일치하는 하위 문자열의 위치와 length를 반환한다. |
CALL PRXPOSN | capture 버퍼의 시작 위치와 length를 반환한다. |
CALL PRXSUBSTR | 패턴이 일치하는 문자열의 위치와 length를 반환한다. |
PRXCHANGE | 지정한 패턴과 일치하는 경우 변경 작업을 수행한다. |
PRXMATCH | 패턴 일치여부를 검색하고, 패턴이 발견된 첫 번째 위치를 반환한다. |
PRXPAREN | 패턴이 일치하는 마지막 캡쳐 버퍼의 값을 반환한다. |
PRXPARSE | Perl 정규식 함수에 의해 이용될 Perl 정규식 표현을 정의 한다. |
PRXPOSN | capture 버퍼에 할당된 값을 반환한다. 캡쳐 버퍼는 prxparse를 통해 패턴 선언시 괄호를 지정하여 나눌수 있다. |
예 제
예 제 1 :
‘Hello world!'에서 ‘world’단어의 위치와 length를 찾아서 반환한다.
SAS Statements |
data _null_;
patternID = prxparse('/world/');
call prxsubstr(patternID, 'Hello world!', position, length);
put position= length=;
run;
Results |
position=7 length=5
예 제 2 :
i옵션을 주어서 insensitive search(대소문을 구분하지 않고 검색) 방식으로
ave ,avenue,dr,drive,rd,road 가 속한 문자열의 위치와 length를 찾아서 분리한다.
SAS Statements |
data _null_;
if _N_ = 1 then do;
retain ExpressionID;
pattern = "/ave|avenue|dr|drive|rd|road/i";
ExpressionID = prxparse(pattern);
end;
input street $80.;
call prxsubstr(ExpressionID, street, position, length);
if position ^= 0 then do;
match = substr(street, position, length);
put match:$QUOTE. "found in " street:$QUOTE.;
end;
datalines;
153 First Street
6789 64th Ave
4 Moritz Road
7493 Wilkes Place
dr
;
run;
Results |
"Ave" found in "6789 64th Ave"
"Road" found in "4 Moritz Road"
"dr" found in "dr"
SAS 함수(SAS Function) 리스트 링크 |
엑셀(EXCEL)과 SAS 함수(SAS Function) 비교 리스트 링크 |
SAS 데이터 스텝 구문 리스트(SAS Data Step Statement) |
반응형
'SAS > SAS 함수' 카테고리의 다른 글
【SAS 함수】 53. CALL RANCAU 함수 (0) | 2018.11.21 |
---|---|
【SAS 함수】 52. CALL RANBIN 함수 (0) | 2018.11.21 |
【SAS 함수】 50. CALL PRXPOSN 함수 (0) | 2018.11.20 |
【SAS 함수】 49. CALL PRXNEXT 함수 (0) | 2018.11.20 |
【SAS 함수】 48. CALL PRXFREE 함수 (0) | 2018.11.20 |
댓글