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
CALL RXCHANGE
Go to previous page
Previous
Go to next page
Next
처음메뉴로

63. CALL RXCHANGE



패턴이 일치하는 한 개 또는 다수의 문자열을 변환한다.
Category: Character String Matching

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

문법

MAIN

CALL RXCHANGE (rx,times,old-string<,new-string>);

Arguments

rx
는 RXPARSE함수에 의해 반환되는 인식자를 지정.

times
는 변경된 최대 숫자.

old-string

new-string


참고

SAS regular 형식 은 RX로 시작하고, Perl regular형식은 PRX로 시작한다.

좀 더 상세한 사항을 알고 싶으신 분은 PERL언어에 관하여 찾아보시기를 바랍니다.

예제

MAIN

 

예 제 1 :

각각의 대문자 앞에 blank삽입하여 출력하자.

SAS Statements Results
data Call_Rxchange1;
     input x :$15.;
     put x= $char15.; retain rx;
     if _n_=1 then rx=rxparse("<$u> TO ' ' =1");
     call rxchange(rx,5,x);
     put rx=; put x= $char15.;
datalines;
ThisIsATest
;
 

x=ThisIsATest

rx=1

x=This Is A Test

 

예 제 2 :

문자열을 검색하여서 ‘bad cat’단어를 '******'로 변경하자.

rxparse 함수에서 A TO B 의 형태는 A를 B로 변경의 의미이다.

SAS Statements Results
data Call_Rxchange2;
     infile datalines truncover;
     input x $char50.;
datalines;
this is a bad story about a bad cat
this is a cat story about a bad cat
this is a bad story about a cat
;

data new;
 set Call_Rxchange2;
     put x=;
     length y $ 50;
     rx = rxparse("'bad cat' to '******'");
     call rxchange(rx,1,x,y);
     put y= /;
run;
 

 

x=this is a bad story about a bad cat
y=this is a bad story about a ******
x=this is a cat story about a bad cat
y=this is a cat story about a ******
x=this is a bad story about a cat
y=this is a bad story about a cat

 

예 제 3 :

변환작업을 5번을 실행하여서 문자열에서 HTML Tag문을 제거하여 출력하자.

SAS Statements Results
data Call_Rxchange3;
     infile datalines truncover;
     input test $char100.;
     before=test;
     rx = rxparse(" $<5> to '' ");
     call rxchange(rx,5,test);
datalines;
<FONT SIZE=2 FACE="Courier New">Using RX functionality</FONT>
<P><FONT SIZE=2 FACE="Courier New">Thank-you so much</FONT>
;
run;

     test
Using RX functionality  

Thank-you so much   

 

                         before

<FONT SIZE=2 FACE="Courier New">Using RX functionality</FONT>


<P><FONT SIZE=2 FACE="Courier New">Thank-you so much</FONT>

 


함수비교

Functions:

064.CALL RXFREE

  065.CALL RXSUBSTR
  363.RXMATCH
  364.RXPARSE

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