자바스크립트에서 문자열을 자르는 함수로는 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