본문 바로가기

퍼블리싱/javascript&jQuery

자바스크립트 문자열 자르기 slice(), substring(), substr() 비교

자바스크립트의 문자열을 자르는 함수들이 여러개 있는데 비슷하면서 조금씩 다르게 기능하고 있다. 그래서 각 함수의 작동방법을 비교해 보려고 합니다.

slice()

1
문자열.slice(시작 인덱스, 종료 인덱스)
cs

slice() 함수는 파라미터로 시작인덱스와 종료 인덱스를 받아 값을 반환하는 함수이며, 두번째 인자인 종료 인덱스는 필수 값이 아닙니다. 

 

특징

01. index 는 0부터 시작함 

02. 문자열 길이를 뛰어넘는 숫자를 파라미터로 넣으면 빈 값을 반환함

03. 시작인덱스가 종료인덱스보다 크면 정상적으로 작동하지 않음

04. 음수도 사용가능하며, 뒤에서부터 시작하는 의미로 사용됨

ex) string.slice(3, -10) // 3번째 글자부터 뒤에서 10번째 글자까지 반환

 

substring()

1
문자열.substring(시작 인덱스, 종료 인덱스)
cs

substring() 함수는 파라미터로 시작 인덱스와 종료 인덱스를 받아 값을 반환하는 함수이며, 두번째 인자인 종료 인덱스트는 필수 값이 아닙니다. 

 

특징

01. index는 0부터 시작함

02. 문자열 길이를 뛰어넘는 숫자를 파라미터로 넣으면 빈 값을 반환함

03. 시작인덱스가 종료인덱스보다 크면 두 개의 인수를 교환하여 값을 반환함

ex) string.substring(9, 4) // string.substring(4, 9)으로 값을 반환함

04. 음수는 정상적으로 작동하지 않음

 

substr()

1
문자열.substr(시작 인덱스, 길이)
cs

substr() 함수는 파라미터로 시작 인덱스와 길이를 받아 시작문자부터 길이까지 문자를 반환하는 함수이며, 두번째 인자인 길이는 필수 값이 아닙니다.

 

특징

01. index는 0부터 시작함

02. 첫번째 인자인 시작 인덱스를 음수로 넣으면 문자열에 뒤에서부터 위치를 결정함

ex) string.substr(-10, 3) // 뒤에서 열번째 문자부터 3개의 문자를 반환함

03. 두번째 인자에 음수를 넣으면 정상적으로 작동하지 않음

04. 문자열 길이를 뛰어넘는 숫자를 첫번째 인자로 넣으면 빈 값을 반환함

05. 문자열 길이를 뛰어넘는 숫자를 두번째 인자로 넣으면 문자열을 끝까지 반환함