String 객체

Ji Hyeok Im·2023년 3월 5일
0

Javascript

목록 보기
11/17

String 객체

내장 API 객체 중 하나인 String 객체는 문자열을 조작할 수 있는

다양한 메서드를 사용하기 위해 사용된다.

문자열리터럴.method()
문자열리터럴.method(인수)
문자열변수.method()
문자열변수.method(인수)

와 같이 사용된다.

var myName = "홍길동";

"홍길동" 문자열 리터럴 객체의 타입은 string이다.

웹 브라우저에 의해 String 객체와 연결(Wrapping)되면

String 객체에 있는 property 또는 메서드를 사용할 수 있다.

var yourName = "슈퍼맨";
var hisName = new String("슈퍼맨");

실행결과 : (모두) 슈퍼맨

Wrapper객체인 String 객체는 객체 내부에 string 값을 가지고 있다는 것을 확인할 수 있다.

String 객체의 메서드

1. indexOf(), lastIndexof()

문자열.indexOf(문자열인수)
문자열.lastIndexOf(문자열인수)

indexOf() 메서드는 문자열 변수에 대입된 String 객체에서

왼쪽 -> 오른쪽으로 문자열인수로 명시된 문자열이

첫번째로 나타난 시작위치를 찾아서 반환한다.

문자열인수가 문자열에 없으면 -1을 반환한다.

lastIndexOf() 메서드는 오른쪽 -> 왼쪽으로 찾는다.

그 결과 문자열이 마지막으로 나타난 시작위치를 찾아서 반환한다.

문자열.indexOf(문자열인수, 인덱스번호)
문자열.lastIndexOf(문자열인수, 인덱스번호)

문자열인수, 뒤의 인덱스번호는 검색 시작위치를 지정한다.

indexOf() 는 인덱스 번호 위치부터 첫번째로 나타난 문자열인수의 시작위치,

lastIndexOf()는 인덱스 번호 위치를 문자열의 마지막 위치라고 가정했을 때

마지막 문자열인수의 시작위치를 반환한다.

2. charAt()

문자열변수.charAt(위치번호)

charAt() 메서드는 문자열에서 지정된 위치번호에 있는 문자 하나를 반환한다.

문자열 안의 공백도 위치번호를 카운트함에 주의.

3. slice(), substring(), substr()

slice()

문자열변수.slice(a, b)

위치번호 a는 추출 시작위치, b는 추출 끝위치를 의미한다.

var str = "abcDEFabcdefabc";
document.write(str.slice(2, 6));

실행결과 : cDEF

위치번호 2의 값은 c이고 6의 값은 a 이지만 인덱싱이 매겨지는 위치는

 a  b  c  D  E  F  a  b  c  d  e  f  a  b  c 
0  1  2  3  4  5  6  7  8  9  0  1  2  3  4

위치번호 문자열의 직전 문자열의 끝과 위치번호 문자열 시작 위치에 해당되는 위치이기 때문에

범위를 2 ~ 6으로 둘 경우

c의 시작위치 ~ F의 끝 위치 까지의 범위가 되어 "cDEF" 가 출력된다.

위치번호가 음수일 경우 위치번호는 가장 마지막 문자열이 -1이 된다.

var str = "abcDEFabcdefabc";
document.write(str.slice(-4, -2)

실행결과 : fa

substring()

slice() 메서드와 같으나 인수로 음의 정수를 가질 수 없다는 차이가 있다.

위의 문자열변수 str 에서, str.substring(-4, -2)의 경우 처리가 되지 않지만

str.substring(-4)의 경우 음의 정수가 0으로 자동변환되어 전체 문자열이 출력된다.

substr()

문자열변수.substr(추출시작위치, 글자수)
문자열변수.substr(추출시작위치)

글자수를 지정하면 추출시작위치부터 글자수만큼의 문자열이 추출된다.

글자의 개수이기 때문에 음의 정수가 될 수 없으며

글자수를 지정하지 않으면 추출시작위치부터 끝까지 추출된다.

var str = "abcDEFabcdefabc";
document.write(str.substr(2, 6) // cDEFab , 2번위치부터 6글자 추출
document.write(str.substr(4) // EFabcdefabc
document.write(str.substr(-4, 3)    // fab
document.write(str.substr(-4)    // fabc

4. split()

문자열변수.split(), 문자열변수.split("구분자문자")

문자열을 구분자(기본구분자는 콤마)를 기준으로 분리해서

문자열로 구성된 배열 객체(object)를 반환한다.

var str = "홍길동, 슈퍼맨,세종대왕 배트맨,스파이더맨,    아이언맨";

구분자문자를 지정하지 않거나 기본구분자인 콤마로 지정하면 콤마를 기준으로 문자열을 분리해준다.

공백을 구분자문자로 지정하면 공백을 기준으로 분리해서 콤마를 삽입한다.

5. trim()

문자열변수.trim()

문자열의 앞 뒤로 존재하는 하나 이상의 연속된 빈칸(탭, 엔터)를 모두 제거한다.

다만 문자열의 안에 포함된 빈칸은 제거하지 못한다.

6. concat()

문자열변수.concat(인수)

문자열 결합에 사용된다. 문자열의 더하기와 같은 결과이다.

실행결과:
동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세

7. toUpperCase(), toLowerCase()

문자열변수.toUpperCase()
문자열변수.toLowerCase()

toUpperCase() 메서드는 문자열의 영문을 모두 대문자로 변경한다.

toLowerCase() 메서드는 반대로 문자열의 영문을 모두 소문자로 변경한다.

8. startsWith(), endsWith()

문자열변수.startsWith(문자열인수)
문자열변수.endsWith(문자열인수)

문자열변수가 문자열인수에 지정된 문자(열)로 시작되었는지 또는 끝났는지를 확인한다.

조건을 만족하면 true가, 틀리면 false가 반환된다.

profile
Programming study

0개의 댓글