부분 문자열 추출

이름뭐라하지·2021년 11월 11일
0

1. String.prototype.substring()

시작 인덱스부터 종료 인덱스(포함 안 됨)까지의 부분 문자열을 반환한다.

str.substring(indexStart, indexEnd)

indexStart

반환문자열의 시작 인덱스

indexEnd

반환문자열의 종료 인덱스 (포함하지 않음) 옵션

indexEnd 가 없으면 substring() 문자열의 끝까지 모든 문자를 추출한다.
indexStart 가 indexEnd와 같으면 substring() 빈 문자열을 반환한다.
indexStart 가 indexEnd보다 크면 substring() 메서드는 마치 두 개의 인자의 위치를 바꾼 듯이 처리한다.

예시

let str ='abcdefghi'

console.log(str.substring(4,6)); //'ef'

//indexEnd가 indexStart보다 큰 경우
console.log(str.substring(6,4)); //'ef' 위와 동일해 짐

//indexEnd가 없는 경우
console.log(str.substring(4)); //'efghi' indexStart부터 끝까지

//indexStart가 indexEnd가 같은 경우
console.log(str.substring(4,4)); //'' 빈 문자열

2. String.prototype.substr()

문자열의 특정 인덱스부터 '특정 문자 수'만큼의 부분 문자열을 반환한다.

str.substr(start, length)

start

반환할 부분 문자열의 시작인덱스

음수값을 사용할 경우 str.length + start 값이다. (Microsoft의 JScript에선 start에 음수 값을 지원하지 않는다.)

length

반환할 부분 문자열의 총 개수

예시

let str ='abcdefghi'

console.log(str.substr(4,2)); //'ef'

//length가 없는 경우
console.log(str.substr(4)); //'efghi' start부터 끝까지

//length가 0인 경우
console.log(str.substr(4,0)); //'' 빈 문자열

3. String.prototype.slice()

시작 인덱스부터 종료 인덱스(포함 안 됨)까지의 부분 문자열을 반환한다.

str.slice(beginIndex, endIndex)

beginIndex

반환문자열의 시작 인덱스

음수값을 사용할 경우 str.length + beginIndex 값이다.
만약 beginIndex가 str.length 보다 크거나 같은 경우, slice()는 빈 문자열을 반환한다.

endIndex

반환문자열의 종료 인덱스 (포함하지 않음) 옵션

endIndex가 없다면, silce()는 문자열 마지막까지 추출한다
음수값이라면, endIndex는 str.length + endIndex 로 취급됩니다(예를 들어 endIndex가 -3이면 종료점은 strLength - 3).

예시

let str ='abcdefghi'

console.log(str.slice(4,6)); //'ef'

//endIndex가 beginIndex보다 큰 경우 (substring()과 차이점)
console.log(str.slice(6,4)); //'' 빈 문자열

//endIndex가 없는 경우
console.log(str.slice(4)); //'efghi' beginIndex부터 끝까지

//beginIndex와 endIndex가 같은 경우
console.log(str.slice(4,4)); //'' 빈 문자열
profile
뱃사공1 노질 중

0개의 댓글