상상 너머 그 무언가...

정규표현식 사용해서 string.replace() 실행하기 본문

개발관련(Development)/플래시(Flash)

정규표현식 사용해서 string.replace() 실행하기

Clack 2012. 12. 27. 16:31

string 클래스에 replace 메소드가 있다.

문자열 중에 특정 부분만 텍스트를 바꾸는 기능을 하는데

특정 부분을 선택하는 방법으로 정규표현식을 사용한다.



/**

* \s  : 공백, 탭, 폼피드 문자 찾기 (  \s : 공백 문자, White-Space Character, \t \r \n 스페이스 포함 )

* + : 앞문자가 0개 이상

* \s+ : 공백, 탭, 폼피드 문자가 0개 이상인것

*  /   /g 플래그 : global, 모든 텍스트 영역에서 / / 사이의 문자를 찾는다. g 플래그가 없으면 첫번째 검색되는것만 수정

* */

if( this.input.text.replace( /\s+/g, "" ).length ) 

{

trace( this.input.text );

}


위와 같이 사용하면 input text에 포함되어 있을 공백이나 탭, 줄바꿈 등등의 문자들이 일반 공백으로 처리되어진다.



두가지 이상의 조건에 대해 텍스트 치환을 하고자 한다면 


text.replace( /아이폰|안드로이드폰/, "스마트폰"); 


위의 경우 처럼 조건들 사이에 | 문자를 넣어서 or 의 의미로 쓰면 된다.




replace 메소드의 첫번째 인자에는 문자열 또는 RegExp 라는 일반 표현식 패턴을 사용할 수 있다.





참고 : http://help.adobe.com/ko_KR/FlashPlatform/reference/actionscript/3/String.html#replace()

         http://help.adobe.com/ko_KR/FlashPlatform/reference/actionscript/3/RegExp.html