JavaScript

문자열

Mia_ 2022. 10. 24. 18:49

a. 문자열

 

1. 문자열 특징 

  - str[index] : index를 통한 접근은 가능하지만 사용은 할 수 없다

  - + 연산자만 사용할 수 있다

  - string 타입과 다른 타입 사이에 + 연산자를 사용하면 string 타입으로 변경된다  

  - 모든 string methods는 immutable, 원본은 변하지 않는다

 

2. length 프로퍼티

  - 배열 요소는 프로그램안에서 얼마든지 추가 삭제할 수 있으므로 요소의 개수를 알고 사용하는 것이 좋다

  - Array 객체에 length 프로퍼티를 사용하면 배열 요소의 갯수를 알 수 있고 해당 프로퍼티에 배열 요소의 갯수가 저장되어 있다

 

3. Methods

① Stirng.indexOf( )

  - 호출한 String 객체에서 주어진 값과 일치하는 첫번째 인덱스를 반환 함.

  - 일치하는 값이 없으면 -1 반환.

  - lastIndexOf는 문자열 뒤에서 부터 찾음

//구문
str.indexOf(searchValue,[, fromIndex])
//serchValue : 찾으려는 문자열
//fromIndex : 문자열에서 찾기 시작하는 위치를 나타내는 인덱스 값.

   - 설명 : 문자열 내에 있는 문자들은 왼쪽에서 오른쪽으로 순번이 매겨진다. 제일 처음 문자는 0번 순번이다. 

'Blue Whale'.indexOf('Blue'); //returns 0
'Blue Whale'.indexOf('blue'); //returns -5
'Blue Whale'.indexOf('Whale'); //returns 5
'Blue Whale Whale'.indexOf('Whale'); //returns 5

 

② String.split( ) 

  -  String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눈다

//구문
str.split()
str.split(separator)
str.split(separator,limit)
//separator : 원본 문자열을 끊어야 할 부분을 나타내는 문자열
//limit : 끊어진 문자열의 최대 개수를 나타내는 정수. 주어진 separator가 등장할 때마다 끊지만 배열 원소가 limit개가 되면 멈춤

  - 예제 > 끊는 횟수 제한하기

var myString = 'Hello World. How are you doing?';
var splits = myString.split(' ', 3);

console.log(splits);
//출력 
["Hello", "World.", "How"]

 

③ String.substring( ) 와 String.slice( ) 

//substirng() 구문
str.substring(start[,end])

//slice() 구문
str.slice(start[,end])

  ▷ 공통점 

    - 둘 다 2개의 인자(start, end)를 받지만, 두번째는 optional

    - start 인덱스부터 end 인덱스 직전까지 추출

    - end 인덱스가 없다면 마지막까지 추출

    - start = end 일 경우, 빈 문자열 반환

  ▷ 차이점

    - 음수 인덱스일 경우, slice( )는 역방향으로 카운트 / substring( )은 0으로 치환됨

    - start가 end보다 큰 경우 slice( )는 빈 문자열 반환 / substring( )은 마치 두 개의 인자를 바꾼 듯 작동

    - 인자가 strLength보다 큰 경우, slice( )는 start가 strLength보다 큰 경우 빈 문자열 반환, end가 strLength보다 큰 경우 strLength로 치환 / substring( )은 strLength로 치환해서 처리

 

④ String.toLowerCase( ) / String.toUpperCase( )

  - toLowerCase( ) 메서드는 문자열을 소문자로, toUpperCase( )는 대문자로 변환 한다

  - 원래 문자열에 영향을 주지 않는다

 

⑤ String.trim( )

   - 문자열 양 끝의 공백을 제거

   - 공백이란 모든 공백 문자(space, tab, NBSP 등)와 모든 개행문자(LR, CR 등)을 의미

//trim() 사용 예제
var orig = '   foo  ';
console.log(orig.trim()); // 'foo'

 

⑥ String.match( )

   - 기준 문자열에서 원하는 특정문자열 혹은  정규식과 매치되는 부분을 검색한다

//문법
str.match(regexp)
//regexp : 정규식 개체이며, 정규표현식이 아닌 객체가 전달 되면 암묵적으로 정규표현식(RegExp)으로 변환

 

⑦ String.replace( )

   - 어떤 패턴에 일치하는 일부 또는 모든 부분이 교체된 새로운 문자열을 반환한다

   - 그 패턴은 문자열이나 정규식이 될 수 있으며, 교체 문자열은 문자열이나 모든 매치에 대해서 호출된 함수 일 수 있다