본문 바로가기

FLASH/AS3.0기초

String

문자열(String)

 

String 클래스는 문자열을 나타내는 데이터 유형입니다.
String 클래스는 프리미티브 문자열 값 유형을 조작하는 데 사용할 수 있는 메서드와 속성을 제공합니다.
String() 함수를 사용하면 모든 객체의 값을 String 데이터 유형 객체로 변환할 수 있습니다.
concat(), fromCharCode(), slice() 및 substr()을 제외한 String 클래스의 모든 메서드는 일반 메서드입니다.
즉, 작업을 수행하기 전에 toString()이 호출되므로 이러한 메서드를 String 유형이 아닌 객체에 사용할 수 있습니다.
모든 문자열 인덱스는 0부터 시작하기 때문에 임의의 문자열 x에 대한 마지막 문자의 인덱스는 x.length - 1입니다.
생성자 메서드 new String()을 사용하여 새 문자열 변수를 만든 경우 및 간단히 문자열 리터럴 값을 할당한 경우 모두 String 클래스의 모든 메서드를 호출할 수 있습니다.
이전 버전의 ActionScript와 달리 생성자를 사용하는 경우, 전역 함수를 사용하는 경우 또는 간단히 문자열 리터럴 값을 할당하는 경우 아무런 차이가 없습니다.
다음 코드 행은 모두 동일합니다.

 

[예제]

var str:String = new String("foo");
var str:String = "foo";

var str:String = String("foo");

 

문자열 변수를 undefined로 설정하면 Adobe(r) Flash(r) Player에서 undefined가 null로 변환됩니다.


예를 들어 다음 명령문을 살펴 봅니다.

 

var s:String = undefined;

 

이 경우 값은 undefined 대신 null로 설정됩니다.
값을 undefined로 설정하려면 String() 함수를 사용합니다.

 

String의 메서드에 대해 알아봅시다.

메서드

다음에 의해 정의됨

String(val:String)
지정된 문자열로 초기화된 새 String 객체를 만듭니다.
 String
charAt(index:Number = 0):String
인덱스 매개 변수에 지정된 위치의 문자를 반환합니다.
 String
charCodeAt(index:Number = 0):Number
지정된 인덱스에 있는 문자의 유니코드 문자 코드를 숫자로 반환합니다.
 String
concat(... args):String
String 객체 끝에 지정된 인수를 추가하고 필요한 경우 문자열로 변환한 다음 결과 문자열을 반환합니다.
 String
fromCharCode(... charCodes):String
[정적] 매개 변수의 유니코드 문자 코드가 나타내는 문자로 구성된 문자열을 반환합니다.
 String
hasOwnProperty(name:String):Boolean
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다.
 Object
indexOf(val:String, startIndex:Number = 0):int
문자열을 검색하여 값이 최초로 발견된 위치 또는 호출 문자열 내의 시작 인덱스 다음 위치를 반환합니다.
 String
indexOf(searchElement:*, fromIndex:int = 0):int
완전 항등 연산자(===)를 사용하여 배열의 항목을 검색하고 항목의 인덱스 위치를 반환합니다.
 Array
isPrototypeOf(theClass:Object):Boolean
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다.
 Object
lastIndexOf(val:String, startIndex:Number = 0x7FFFFFFF):int
문자열을 오른쪽에서 왼쪽으로 검색하고 시작 인덱스 앞에서 값이 마지막으로 나타난 인덱스를 반환합니다.
 String
localeCompare(other:String, ... values):int
둘 이상의 문자열에 대한 정렬 순서를 비교하고 비교 결과를 정수로 반환합니다.
 String
match(pattern:*):Array
문자열을 지정된 패턴과 비교합니다.
 String
propertyIsEnumerable(name:String):Boolean
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다.
 Object
replace(pattern:*, repl:Object):String
문자열을 지정된 패턴과 비교하고 패턴의 첫 번째 일치 항목을 대체 내용에 지정된 내용으로 바꾼 새 문자열을 반환합니다.
 String
search(pattern:*):int
지정된 패턴을 검색하고 일치하는 첫 번째 하위 문자열의 인덱스를 반환합니다.
 String
setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
 Object

slice(startIndex:Number = 0, endIndex:Number = 0x7fffffff):String
시작 인덱스 문자부터 끝 인덱스 문자 바로 앞까지 모든 문자가 포함된 문자열을 반환합니다.
 String
split(delimiter:*, limit:Number = 0x7fffffff):Array
지정된 구분 기호 매개 변수가 나타나는 모든 위치에서 String 객체를 하위 문자열 배열로 분할합니다.
 String
substr(startIndex:Number = 0, len:Number = 0x7fffffff):String
지정된 시작 인덱스에서 시작하여 len에 지정된 길이의 문자로 구성된 하위 문자열을 반환합니다.
 String
substring(startIndex:Number = 0, endIndex:Number = 0x7fffffff):String
시작 인덱스에서 끝 인덱스 - 1 사이의 모든 문자로 구성된 문자열을 반환합니다.
 String
toLocaleLowerCase():String
이 문자열의 모든 대문자를 소문자로 변환한 복사본을 반환합니다.
 String
toLocaleUpperCase():String
이 문자열의 모든 소문자를 대문자로 변환한 복사본을 반환합니다.
 String
toLowerCase():String
이 문자열의 모든 대문자를 소문자로 변환한 복사본을 반환합니다.
 String
toString():String
지정된 객체의 문자열 표현을 반환합니다.
 Object
toUpperCase():String
이 문자열의 모든 소문자를 대문자로 변환한 복사본을 반환합니다.
 String
valueOf():String
String 인스턴스의 프리미티브 값을 반환합니다.
 String

 

 

charAt(index)메서드 : 문자열 추출
var str1:String = "Action Script";
trace(str1.charAt(0));   // 'A' 출력
trace(str1.charAt(6)); 
  // 공백 출력

 

substring(start, end) 메서드
var str1:String = "Action Script";

trace(str1.substring(2,9));  // 'tion Sc' 출력

 

substr(start, length) 메서드
trace(str1.substr(2,9));  // 'tion Scri' 출력

 

indexOf(value:String, [startIndex:Number])메서드 : 문자열을 검색하여 지정한 문자의 인덱스 반환
var str1:String = "Action Script";

trace(str1.indexOf('S')); // 7 출력

 

spilt(delimiter:String, [limit:Number]):Array : 문자열을 분리하여 배열로 반환하는 메서드

 

var str2:String = "액-션-스-크-립-트";
var arr2:Array = str2.split("-");
trace(arr2);
    // '액,션,스,크,립,트' 출력

 

 

length속성 

문자가 몇개인지 알아보는 속성입니다.

다음 예제를 실행해 봅시다.


for(var i=0; i<arr2.length; ++i)
{
 trace(arr2[i]);
}

//액
//션
//스
//크
//립
//트
//츨력

 

 

문자열 안의 탭이나 공백 개행 및 따옴표 처리

 

백슬래시(\)를 사용한다.

\b 백스페이스

\f 용지공급

\n 개행

\r 캐리지 리턴

\t 탭

\unnnn  16진수nnnn으로 지정된 문자코드가 있는 유니코드 문자는 스마일 21 문자임

\xnn 16진수nn으로 지정된 문자 코드가 있는 ASCII문자

\' 작은 따옴표

\" 큰따옴표

\\ 단일 백 슬래시 문자

 

 

문자와 문자 코드 간의 변환

(1) 문자코드를 문자로 표현

for(var i:uint=0; i<300; i++){
  trace("코드번호", i, "=", String.fromCharCode(i));
}

(2)문자를 코드문자로 표현

var str = "Have a Good Time";
for(var i:uint=0; i<str.length; i++){
  trace(str.charAt(i), "문자=", str.charCodeAt(i));
}

'FLASH > AS3.0기초' 카테고리의 다른 글

Math  (0) 2012.10.25
타이머  (0) 2012.10.25
AS2.0 과 AS3.0의 대표적인 차이점  (0) 2012.10.25
Object 클래스  (0) 2012.10.25
Array  (0) 2012.10.25
함수  (0) 2012.10.25
반복문  (0) 2012.10.25
선언문, 조건문  (0) 2012.10.25
변수  (0) 2012.10.25
절차적인 방법와 객체지향 방법의 차이점  (0) 2012.10.24