본문 바로가기
IT 개발

JavaScript - substr, substring, slice

by Angela- 2024. 12. 31.

 

Javascript에서 substr(), substring(), slice() 함수는 모두 문자열을 잘라주는 역할을 합니다.
 
이 함수들은 모두 비슷하지만, 조금씩 작동 방법이 다릅니다.
이 세가지 함수를 비교해서 필요한 곳에 사용할 수 있도록 정리해 보겠습니다.

 

구문

string.substr(start, length)
string.substring(indexStart, indexEnd)
string.slice(beginIndex, endIndex)

 

substr()

파라미터로 입력받은 start 부터 length 길이만큼 string을 잘라서 반환하는 함수입니다.

첫번째 글자의 index는 0 부터 시작합니다.

length 를 생략하면, 시작 위치부터 문자열 끝까지 자릅니다.

var str = '자바스크립트';

var result1 = str.substr(0, 2);
var result2 = str.substr(2, 4);
var result3 = str.substr(2);
var result4 = str.substr(str.length-1, 1);

// result1 = "자바"
// result2 = "스크립트"
// result3 = "스크립트"
// result4 = "트"

 

 

substring()

파라미터로 잘라내고 싶은 문자열의 start index와 last index를 전달합니다.

index는 0 부터 시작합니다.

주의할 점은 종료 위치의 -1까지 문자열을 자른다는 것입니다.

var str = '자바스크립트';
var result1 = str.substring(2, 5); 
var result2 = str.substring(-4, 5); // str.substring(0, 5)
var result3 = str.substring(2, -1); // str.substring(0, 2)

// result1 = "스크립"
// result2 = "자바스크립"
// result3 = "자바"

 

substring() 함수에서 인자에 음수(-)를 대입하면 해당 값은 "0"으로 치환되며, 
종료 위치에 음수(-) 또는 "0"인 경우 첫 번째 인수와 두 번째 인수가 뒤바뀐다는 것을 주의해야 합니다.

 

 

slice()

slice() 함수는 기본적인 사용법은 substring() 함수와 동일하며, 
다른 점은 음수(-)를 자유롭게 사용할 수 있어서 뒤에서부터 문자열을 자를 때 유용하게 사용할 수 있습니다.

 

var str = '자바스크립트';
var result1 = str.slice(0, 2);
var result2 = str.slice(2, 6);
var result3 = str.slice(2);

// result1 = "자바"
// result2 = "스크립트"
// result3 = "스크립트"

var result4 = str.slice(-4);
var result5 = str.slice(-4, 5);
var result6 = str.slice(2, -1);

// result4 = "스크립트"
// result5 = "스크립"
// result6 = "스크립"

 

종료 위치의 -1까지 문자열을 자른다는 것도 substring() 함수와 동일합니다.

 

 

'IT 개발' 카테고리의 다른 글

JavaScript - 배열  (0) 2025.01.01
MSSQL - ROW_NUMBER  (0) 2024.12.22
JavaScript - indexOf  (1) 2024.12.19
JavsScript - split 함수  (0) 2024.12.18
MSSQL - STUFF  (1) 2024.12.15