[JS] 문자열 자르기 : substr, substring, slice

꼼영 🌱·2023년 7월 28일

substr

문자열에서 특정한 구간의 문자열을 추출한다.

  • start (필수) : 탐색 구간의 시작점
  • length (옵션) : length 길이 만큼 탐색, 생략할 경우 끝까지 탐색
string.substr(start[, length])
const str = '자바스크립트'
str.substr(0, 1) // '자'
str.substr(2, 3) // '스크립'
str.substr(1) // '바스크립트'
str.substr(str.length-1) // '트' : 마지막문자
str.substr(-3) // "크립트"

substring

문자열에서 특정한 구간의 문자열을 추출한다.

  • start (필수) : 탐색 구간의 시작점
  • end (옵션) : 탐색 구간의 끝점, 생략할 경우 끝까지 탐색
    ⭐️ end index는 포함하지 않고 추출함!
string.substr(start[, end])
const str = '자바스크립트'
str.substring(0, 1) // '자'
str.substring(2, 3) // '스'
str.substring(1) // '바스크립트'
str.substring(str.length-1) // '트' : 마지막문자

slice

배열에서 특정한 구간의 원소들을 새로운 배열로 추출한다.
문자열에서 특정한 구간의 문자열을 추출할 때도 사용할 수 있다.

  • start (필수) : 탐색 구간의 시작점
  • end (옵션) : 탐색 구간의 끝점, 생략할 경우 끝까지 탐색
    ⭐️ end index는 포함하지 않고 추출함!
string.slice(start[, end])
const str = '자바스크립트'
str.slice(0, 1) // '자'
str.slice(2, 3) // '스'
str.slice(1) // '바스크립트'
str.slice(str.length-1) // '트' : 마지막문자
str.slice(-3) // '크립트'

☑️ slice, substring 차이점

1. start , end 가 음수일 경우

  • substring : 음수를 0으로 계산한다.
  • slice : 배열의 끝에서부터의 길이로 계산한다. (인덱스 끝에서 부터 시작한다고 생각하면 된다!)
['가', '나', '다', '라']
  -4   -3    -2   -1

2. start > end 인 경우

  • substring : start와 end의 값을 바꾸어 계산한다.
  • slice : 빈 값("")을 반환한다.
const str = '자바스크립트'
str.substring(3, 0) // 자바스' : str.substring(0, 3) 과 결과가 같다
str.slice(3, 0) // ''
profile
까먹지 않을 거예요

0개의 댓글