문자열(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 |