Javascript

문자열 자르기 substr, substring, slice, split

하루 2022. 1. 3. 16:48

자바스크립트에서 문자열을 자르는 함수로는 substr, substring, slice, split 이 있다.

// [대괄호 부분] 은 생략이 가능하며, 생략할 경우 시작위치부터 문자열 끝까지 자른다.
str.substr(start[, length])
str.substring(indexStart[, indexEnd])
str.slice(beginIndex[, endIndex])
str.split([seperator[, limit]])

 

substr

substr 함수는 시작 위치부터 해당 길이만큼 문자열을 자르는 함수이다.

길이 부분을 생략하면 시작위치부터 문자열 끝까지 자른다.

substr(시작위치, 길이) 또는 substr(시작위치)
var str = '자바스크립트';

var result1 = str.substr(0, 2);
// 결과 : "자바"

var result2 = str.substr(2, 4);
// 결과 : "스크립트"

var result3 = str.substr(2);
// 결과 : "스크립트"

 

substring

substring 함수는 시작 위치에서 종료 위치까지 문자열을 자른다.

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

substring(시작위치, 종료위치) 또는 substring(시작위치)
var str = '자바스크립트';

var result1 = str.substring(0, 2);
// 결과 : "자바"

var result2 = str.substring(2, 5);
// 결과 : "스크립"

var result3 = str.substring(2, 6);
// 결과 : "스크립트"

var result4 = str.substring(2);
// 결과 : "스크립트"

 

** substring 함수에서 음수 사용 시 주의사항

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

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

var result1 = str.substring(-4, 5); // str.substring(0, 5)
// 결과 : "자바스크립"

var result2 = str.substring(2, -1); // str.substring(0, 2)
// 결과 : "자바"

 

slice

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

만약에 음수(-)로 시작위치만 지정했다면 문자열의 뒤에서 해당번째 자리부터 끝까지 문자열을 자르는 것을 의미한다.

slice(시작위치, 종료위치) 또는 slice(시작위치)
var str = '자바스크립트';

var result1 = str.slice(0, 2);
// 결과 : "자바"

var result2 = str.slice(2, 6);
// 결과 : "스크립트"

var result3 = str.slice(2);
// 결과 : "스크립트"

/************************************/

var result4 = str.slice(-4);
// 결과 : "스크립트"

var result5 = str.slice(-4, 5);
// 결과 : "스크립"

var result6 = str.slice(2, -1);
// 결과 : "스크립"

 

split

split 은 문자열을 seperator 기준으로 limit 만큼의 크기를 가진 새로운 문자 배열을 반환한다.

주로 limit을 작성하지 않고 구분자만 작성하여 특정한 데이터에서 구분자로 나누어진 데이터를 구분자를 제거하여 값을 가져올 때 사용한다.

  • 구분자(seperator) : 문자열을 나눌 때 기준이 되는 값.
    • 문자나 정규표현식을 사용할 수 있다.
    • 값을 정하지 않으면 str 과 동일한 값을 가진 문자배열을 반환한다.
  • 반환할 최대 크기(limit) : 반환하는 문자 배열의 최대 크기이다. 값을 정하지 않으면 문자 배열의 크기는 제한되지 않는다.
str.split(구분자) 또는 str.split(구분자, 반환할 최대 크기)
const text = 'Hello, world!'; 

const splitResult = text.split(','); 
// ["Hello", " world!"] 

const splitResultByLimit0 = text.split(',', 0); 
// [] 

const splitResultByLimit1 = text.split(',', 1); 
// ["Hello"] 

const splitResultByLimit2 = text.split(',', 2); 
// ["Hello", " world!"]

 

 

 

출처/참고

 

[JavaScript] 문자열 자르기 (substr, substring, slice)

자바스크립트에서 문자열을 자르기 위해서는 substr(), substring(), slice() 함수를 사용하면 된다. 문자열을 뒤에서부터 자르기 위해서는 slice() 함수를 사용하면 효율적이며 타 언어의 Right 함수와 비

gent.tistory.com

 

Javascript - 문자열 자르기 [split, substring, substr]

자바스크립트에서는 문자열을 자르는 방법으로 split, substring, substr 함수를 제공합니다. 단순히 문자 값을 자르는 데에 왜 이렇게 많은 split(), substring(), substr() 함수들이 제공되고 있는 걸까요?

7942yongdae.tistory.com